使用JavaScript获取经度和纬度,并将其设置为vars

使用JavaScript获取经度和纬度,并将其设置为vars,javascript,google-maps,Javascript,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.ROADMA

今天是我使用谷歌地图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

好的,我想把地图放在我当前位置的中心。我知道我可以使用长时间和长时间

navigator.geolocation.getCurrentPosition(displayLocation);

function displayLocation(position) {
    var latitude = position.coords.latitude;
    var longitude = position.coords.longitude; 
 }
现在我对position对象如何被推回success handler displayLocation有点不知所措。无论如何,我怎样才能像这样将纬度和经度传递给initializeMap()函数

center: new google.maps.LatLng( latitude, longitude)
我目前正在查看Google Maps API文档,因为我确信有一种方法可以实现这一点,但我想在不同的函数中使用纬度和经度,所以我想我是在问如何让所有函数都可以访问这些变量(比如全局变量,但不是坏的全局变量)而不是仅对
displayLocation
功能可用。对不起,如果这是措词不当。。。如果我把人搞糊涂了,请说,我会改写这个问题。

只需声明

var latitude, longitude;
进入父作用域,因此函数

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

当然,定义这些变量的范围取决于您自己。另外,请注意它们将
未定义
,直到
displayLocation
未调用

Cheers,我所做的是window.onload=function(){navigator.geolocation.getCurrentPosition(displayLocation);}然后调用displayLocation()函数中的initializeMap(),Cheers