2013-03-11 67 views
0

我在谷歌地圖api v3上有幾個標記,我需要定期重新定位標記。我給了我的標記特定的名稱,如markerA,markerB,... markerO。谷歌地圖標記的重新定位

我嘗試運行此函數來獲得訪問權的標記來重新定位:

function moveMarker(marker,lat,lng) { 
    var newLatLng = new google.maps.LatLng(lat,lng); 
    marker.setPosition(newLatLng); 
} 

標記在加載過程隨着地圖創建。

markerA = new google.maps.Marker({position: new google.maps.LatLng(59.870131, 10.819168), map: map, icon: rodIcon, title: 'Car A'}); 
    markerB = new google.maps.Marker({position: new google.maps.LatLng(59.870131, 10.819168), map: map, icon: rodIcon, title: 'Car B'}); 
    markerC = new google.maps.Marker({position: new google.maps.LatLng(59.870131, 10.819168), map: map, icon: blaIcon, title: 'Car C'}); 

然而,這似乎是我的功能失效,以及犯規識別功能的「標記」輸入給出的標記「名字」。

輸入功能類似於:

moveMarker(markerA,60,10) 

但彩筆犯規在所有移動...

我思念的東西認真基礎,或者是我的想法重新定位每個單個標記其名字不是要走的路?

我的意思是,我可以硬編碼

markerA.setPosition markerB.setPosition等等......但是,這似乎是大材小用?

+0

將數組用於標記。 – 2013-03-11 03:00:29

回答

0

只需使用.setPosition()方法。見http://jsfiddle.net/Ln2BM/1/

google.maps.event.addListener(marker, 'click', function() { 
    var pos = this.getPosition(); 
    this.setPosition(new google.maps.LatLng(pos.lat(), pos.lng() + 1)); 
}); 

如果它不工作,那麼你必須做出一個不同的錯誤。相當可疑的聲音聽起來你的句子「我的功能失敗了,並且不能識別功能」「的」標記「輸入中給出的標記」名稱「。你的函數調用可能有問題。