使用JavaScript获取经度和纬度并将其设置为变量

时间:2012-05-25 12:28:23

标签: javascript google-maps

今天是我使用Google Maps API的第一天。现在我有一个ID为“map”的DIV代码如下......

function initializeMap() {

        var opts = {
            center: new google.maps.LatLng( 0, 0), // ignore the zero values for now
            zoom: 10,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        map = new google.maps.Map(document.getElementById('map'), opts);
        geocoder = new google.maps.Geocoder();
}

我使用window.onload = initializeMap

来调用它

好的,我想将地图置于当前位置。我知道我可以使用

获得long和lat
navigator.geolocation.getCurrentPosition(displayLocation);

function displayLocation(position) {
    var latitude = position.coords.latitude;
    var longitude = position.coords.longitude; 
 }

现在我对位置对象如何被推回到成功处理程序displayLocation感到有点迷茫。无论如何我怎么能通过纬度&对于如此初始化的initializeMap()函数的经度......

center: new google.maps.LatLng( latitude, longitude)

我目前正在查看Google Maps API文档,因为我确信有一种方法可以解决这个问题,但我想在不同的函数中使用纬度,经度,所以我想我问我该如何制作这些变量可供所有函数访问(如全局但不是全局),而不仅仅可用于displayLocation函数。对不起,如果措辞不当......如果我让人困惑,请说出来,我会重新提出这个问题。

1 个答案:

答案 0 :(得分:0)

宣布

var latitude, longitude;

进入父范围,所以函数是

function displayLocation(position) {
    latitude = position.coords.latitude; /* no var keyword */
    longitude = position.coords.longitude; 
}

当然,您应该选择定义这些变量的范围取决于您。另请注意,在undefined未被调用

之前,它们将为displayLocation