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

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 类将纬度和经度分配给变量?

将纬度和经度分配为全局使用的变量[重复]

任何免费服务或 API 将提供地理坐标(纬度和经度)? [关闭]

如何返回地理位置响应对象以用作另一个函数的参数

从IP地址获取地理位置[重复]