地理位置 - 将纬度和经度值分配给变量

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