[英]How to load the map after the ajax received the data?
jQuery.ajax({
url: window.location.href,
type: "POST",
dataType: 'json',
success: function (res) {
data = res;
google.maps.event.addDomListener(window, 'load', speedTest.init);
},
error: function(serverResp) { // on ajax failure
console.log('5xx http status code or unexpected response content');
}
});
我的代码如上,如果我将“ google.maps.event.addDomListener(window, 'load', speedTest.init); ”放在“成功: ”之外,则加载地图时数据为空的可能性很高,但是当我将其放入“成功: ”时,地图将无法加载。 那么我应该怎么处理这个问题呢?
此代码初始化地图并在地图上设置一个标记,该标记的位置来自 ajax:
success: function (result) {
var json = eval('(' + result + ')');
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: new google.maps.LatLng(31.320, 48.647),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var myMarker = new google.maps.Marker({
position: new google.maps.LatLng(json.items[0].lat, json.items[0].lng),
draggable: true
});
google.maps.event.addListener(myMarker, 'dragend', function (evt) {
document.getElementById('current').innerHTML = '<p> Current Lat: ' + evt.latLng.lat().toFixed(6) + ' Current Lng: ' + evt.latLng.lng().toFixed(6) + '</p>';
});
google.maps.event.addListener(myMarker, 'dragstart', function (evt) {
document.getElementById('current').innerHTML = '<p>Marker Dragging...</p>';
});
map.setCenter(myMarker.position);
map.setZoom(13);
myMarker.setMap(map);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.