2012-05-05 84 views
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> 

回答

2

嘗試把標記代碼初始化函數內。否則,標記不會看到創建的地圖。

+1

爲了擴展這個答案 - 你製作標記,然後在文檔加載時製作地圖。這意味着標記沒有什麼可以「鎖定」 - 地圖變量爲空。您需要先加載地圖,然後將標記鎖定到該地圖上。如果你願意,你可以創建一個標記隊列,並在頁面運行時通過它運行,如果地圖準備就緒,則將標記添加到地圖中。 – DanRedux

+0

謝謝。現在看起來很明顯。 –

相關問題