地理位置 - 将纬度和经度值分配给变量[重复]
Posted
技术标签:
【中文标题】地理位置 - 将纬度和经度值分配给变量[重复]【英文标题】:Geolocation - Assign the latitude and longitude values to variables [duplicate] 【发布时间】:2016-02-26 15:10:54 【问题描述】:我按照有关如何在 javascript 中获取当前位置(经度和纬度)的示例进行了尝试,并且效果很好。
我的问题是将 lng 和 lat 值分配给变量,以便我始终可以重用它们。我知道该函数是某种异步调用。
从下面的示例中,在 showPosition 函数中打印了我的当前位置(正如预期的那样!),但函数输出未定义。
获取 lat ang lng 值以便它们可用于其他功能的最佳方法是什么。
var lat;
var lng;
// users current location using html5 geolocation.
if (navigator.geolocation)
navigator.geolocation.getCurrentPosition(showPosition);
function showPosition(position)
lat = position.coords.latitude;
lng = position.coords.longitude;
console.log("lat: " + lat + "lng: " + latlng); // works fine prints current position
console.log("lat: " + lat + "lng: " + latlng); // prints undefined
【问题讨论】:
【参考方案1】:似乎是范围问题..尝试在函数之外声明变量
var lat;
var lng;
// users current location using HTML5 geolocation.
if (navigator.geolocation)
navigator.geolocation.getCurrentPosition(showPosition);
function showPosition(position)
lat = position.coords.latitude;
lng = position.coords.longitude;
console.log("lat: " + lat + "lng: " + latlng); // works fine prints current position
console.log("lat: " + lat + "lng: " + latlng); // prints undefined
【讨论】:
已更新问题。变量是在函数外部定义的。以上是关于地理位置 - 将纬度和经度值分配给变量[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 iPhone 的 CLLocation 类将纬度和经度分配给变量?