navigator.geolocation.getCurrentPosition(successCallback);
function successCallback(position){
var lat = position.coords.latitude;
var long = position.coords.longitude;
}
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: lat, lng: long},
zoom: 8
});
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=xxx&callback=initMap"
async defer></script>
更新代碼~
這樣要怎麼把lat跟long 丟到initMap?
资料参考:https://developer.mozilla.org...
上面解释了getCurrentPosition()方法是一个异步执行方法:
而alert(lat)是同步代码,会先执行,也就是在lat没有赋值的情况下就被执行到了,会打印undefined