Javascript 谷歌地图-地理定位通过lat/lng变量之前的地图加载
我添加了一个geolocation函数来显示用户当前的位置,但我认为map函数是在脚本获取位置变量之前加载的 我是JavaScript新手,我想知道是否可以在加载下一个函数之前等待 我已经看过超时函数,但它似乎不起作用 任何帮助都会很好Javascript 谷歌地图-地理定位通过lat/lng变量之前的地图加载,javascript,google-maps,variables,geolocation,Javascript,Google Maps,Variables,Geolocation,我添加了一个geolocation函数来显示用户当前的位置,但我认为map函数是在脚本获取位置变量之前加载的 我是JavaScript新手,我想知道是否可以在加载下一个函数之前等待 我已经看过超时函数,但它似乎不起作用 任何帮助都会很好 #地图画布{ 宽度:300px; 高度:300px; 浮动:左; } #infoPanel{ 浮动:左; 左边距:10px; } #infoPanel分区{ 边缘底部:5px; } 谷歌地图拖动标记 // 0) { UpdateMarkeradAddress
#地图画布{
宽度:300px;
高度:300px;
浮动:左;
}
#infoPanel{
浮动:左;
左边距:10px;
}
#infoPanel分区{
边缘底部:5px;
}
谷歌地图拖动标记
// 0) {
UpdateMarkeradAddress(响应[0]。格式化的\u地址);
}否则{
UpdateMarkeradAddress('无法确定此位置的地址');
}
});
}
函数updateMarkerStatus(str){
document.getElementById('markerStatus')。innerHTML=str;
}
函数更新标记位置(latLng){
document.getElementById('info')。innerHTML=[
latLng.lat(),
latLng.lng()
]。加入(‘,’);
document.getElementById(“info1”)。值=[
latLng.lat(),
latLng.lng()
]。加入(‘,’);
}
函数更新标记地址(str){
document.getElementById('address')。innerHTML=str;
document.getElementById(“address1”).value=str;
}
});//]]>
标记状态:
单击并拖动标记。
当前职位:
最近匹配地址:
此特定问题的解决方案是:
更改此部分
var lat = 51.49575692748839;
var lng = -0.14600197187496633;
// sets your location as default
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
lat = position.coords["latitude"];
lng = position.coords["longitude"];
console.log(lat, lng);
},
function(error) {
console.log("Error: ", error);
},
{
enableHighAccuracy: true
});
}
至
var lat = 51.49575692748839;
var lng = -0.14600197187496633;
// sets your location as default
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
lat = position.coords["latitude"];
lng = position.coords["longitude"];
var ll = new google.maps.LatLng(lat,lng);
updateMarkerPosition(ll);
geocodePosition(ll);
marker.setPosition(ll);
map.panTo(ll);
console.log(lat, lng);
},
function(error) {
console.log("Error: ", error);
},
{
enableHighAccuracy: true
});
}
并将其包含在
$(window).load(function(){ .... });
这将使用初始标记位置加载地图,并且一旦用户位置可用,地图就会更改
的第一个参数是成功检测到用户位置时调用的函数