我正在为我正在处理的网页摆弄 Google Maps API。我现在的问题是, map 完全按照我的意图加载,但仅在刷新页面后加载。如果我不刷新页面,我只能看到 Canvas 。如果我离开页面并返回到它,问题仍然存在,所以调用 map 到 initialize
似乎是一个问题。 .
代码:
<style>
#map_canvas {
width: 670px;
height: 400px;
background-color: #CCC;
}
</style>
<script src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script>
function initialize() {
var myLatLng = new google.maps.LatLng(31.247681, 121.449504);
var map_canvas = document.getElementById('map_canvas');
var map_options = {
center: new google.maps.LatLng(31.248195, 121.447431),
zoom: 16,
mapTypeControl: false,
panControl: false,
zoomControlOptions: {
position: google.maps.ControlPosition.LEFT_CENTER
},
streetViewControl: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(map_canvas, map_options);
var contentString =
'<b>Leung Gallery</b>' +
'<p>50 Moganshan Rd. Building 7, Unit 108, Shanghai</p>' +
'<p>上海普陀区莫干山路50号7号楼108室</p>';
var infowindow = new google.maps.InfoWindow({
content: contentString
});
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
});
google.maps.event.trigger(map, 'resize');
google.maps.event.addListener(marker, 'click', function(){
infowindow.open(map,marker);
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
浏览之前的问题,我没有找到任何与我的问题完全匹配的问题,但我看到了一些围绕 google.maps.event.addDomListener(window, 'load', initialize);
的类似情况。所以我想这可能是问题所在。感谢您的帮助。
编辑:指向正确的方向。添加$(document).bind("projectLoadComplete", initialize);
在 google.maps.event.addDomListener(window, 'load', initialize);
之后解决了这个问题。问题是使用导航时页面没有完全加载。这个问题可能是 Cargo Collective 平台独有的。
最佳答案
经过几个小时的寻找解决方案失败后,我终于找到了这个:
只需替换:
google.maps.event.addDomListener(window, 'load', initialize);
与:
$(document).ready(function(){
initialize();
});
关于javascript - 仅在页面刷新后加载 Google Maps API v3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19651008/