地理位置 - 将纬度和经度值分配给变量
Geolocation - Assign the latitude and longitude values to variables
我按照 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
似乎是范围问题..尝试在函数外声明变量
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
我按照 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
似乎是范围问题..尝试在函数外声明变量
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