在创建以该位置为中心的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
?