【问题标题】: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

【问题讨论】:

    标签: javascript google-maps geolocation latitude-longitude


    【解决方案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
    

    【讨论】:

    • 已更新问题。变量是在函数外部定义的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    相关资源
    最近更新 更多