2010-11-15 170 views
0

我有一個谷歌地圖V3的問題 代碼是來自谷歌的例子的一部分。我想添加偵聽器到每個標記,所以我將標記設置爲數組。但它不工作:( 誰能幫助我谷歌地圖 - javascript問題

function initialize() { 
    if (GBrowserIsCompatible()) { 
    var map = new GMap2(document.getElementById("map_canvas")); 
    map.setCenter(new GLatLng(37.4419, -122.1419), 13); 

    // Add 10 markers to the map at random locations 
    var bounds = map.getBounds(); 
    var southWest = bounds.getSouthWest(); 
    var northEast = bounds.getNorthEast(); 
    var lngSpan = northEast.lng() - southWest.lng(); 
    var latSpan = northEast.lat() - southWest.lat(); 
    var marker = new Array(10); 
    for (var i = 0; i < 10; i++) { 
     var latlng = new GLatLng(southWest.lat() + latSpan * Math.random(), 
           southWest.lng() + lngSpan * Math.random()); 

     marker[i] = new GMarker(latlng,{ draggable: true }); 

     GEvent.addListener(marker[i] , "dragstart", function() { 
     map.closeInfoWindow(); 
     }); 

     GEvent.addListener(marker[i] , "dragend", function() { 
     marker[i].openInfoWindowHtml("text" + i); 
     }); 

     map.addOverlay(marker[i]); 
    } 
    } 
} 
+1

定義「不工作」? – ceejayoz 2010-11-15 17:41:18

+0

當我想拖動標記時,我可以將其移動。但完成後,我想顯示文字。但沒有任何反應。如果它能正常工作,在標記的底部是小十字,移動後消失。現在,十字架仍然在地圖上。 – Marek 2010-11-15 18:00:16

+0

這裏是一個例子 - 請只注意地圖,它只是頁面的一部分.. http://praha-cyklistika.cz/map2.html – Marek 2010-11-15 18:07:28

回答

0

這看起來像谷歌地圖API V2代碼。

  • 更換GLatLnggoogle.maps.LatLng
  • 更換GEventgoogle.maps.event
  • 取代map.addOverlay(marker[i]);,在V3中執行marker[i].setMap(map);

其餘的,請務必閱讀API documentation。那裏有很多例子可以幫助你開始。