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
謝謝。現在看起來很明顯。 –