0
我是JavaScript和Google Maps API v3的新手。我正在尝试ASP.Net页面中的开发人员指南示例代码。地图按预期显示,但标记不加载。我会很感激,如果有人可以发现我的错误:为什么我的Google地图标记不加载?
<style type="text/css">
html, body, #map_canvas { margin: 0; padding: 0; height: 100%; }
</style>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var map;
var myLatlng = new google.maps.LatLng(-41.2954168187213,174.767133718655)
function initialize() {
var myOptions = {
zoom: 4,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
}
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: "Hello World!"
});
// The following set map made no difference.
//The constructor above should have been enough?
//marker.setMap(map);
//google.maps.event.addDomListener(window, 'load', initialize);
</script>
<body onload="initialize()">
<div id="map_canvas"></div>
</body>
为了扩展这个答案 - 你制作标记,然后在文档加载时制作地图。这意味着标记没有什么可以“锁定” - 地图变量为空。您需要先加载地图,然后将标记锁定到该地图上。如果你愿意,你可以创建一个标记队列,并在页面运行时通过它运行,如果地图准备就绪,则将标记添加到地图中。 – DanRedux
谢谢。现在看起来很明显。 –