2013-03-11 69 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)); 
}); 

如果它不工作,那么你必须做出一个不同的错误。相当可疑的声音听起来你的句子“我的功能失败了,并且不能识别功能”“的”标记“输入中给出的标记”名称“。你的函数调用可能有问题。