如何将位置对象的子值分配给全局变量

时间:2019-05-10 18:23:27

标签: javascript google-maps

在创建以该位置为中心的Google地图之前,我正在使用地理位置API获取用户的当前位置。

我试图通过初始化全局对象latlng来做到这一点,该对象的值随后用于定义地图属性。但首先,应该在getCurrentPosition()块语句中的if函数的回调函数中重新分配其值。

let latlng = {lat:51.508742, lng:-0.120850};
if("geolocation" in navigator){
    navigator.geolocation.getCurrentPosition(function(position){
        latlng.lat = position.coords.latitude;
        latlng.lng = position.coords.longitude;
    })
}
function myMap(){
    var mapProp= {
        center:new google.maps.LatLng(latlng.lat, latlng.lng),
        zoom:8,
    };
    let map = new google.maps.Map(document.getElementById("googleMap"),mapProp);
}

在直接在latlng语句中重新分配if时,地图保持完整,但是当我将重新分配放在回调函数getCurrentPostion中时,地图完全消失了。有人可以告诉我为什么,如何将位置对象的值传递给全局变量latlng

0 个答案:

没有答案