2011-07-12 36 views
5

我有两个功能:如何在Google地图上重新放置标记?

function showMarkers() { 
    hotspotsIterator = 0; 
    for(var i = 0; i < table.length; i++) { 
     var obj = table[i]; 
     if(obj && obj.marker) { 
      var obj = table[i]; 
      obj.marker.setMap(map); 
     } 
    } 
} 

function hideMarkers() { 
    for(var i = 0; i < table.length; i++) { 
     var obj = table[i]; 
     if(obj && obj.marker) { 
      obj.marker.setMap(null); 
     } 
    } 
} 

首先是显示标记,二是隐藏它们。当我第一次使用showMarkers()时,执行了Animation.DROP。但是,当我将它们隐藏并再次显示时,动画未运行,并且只显示标记。

有人可以告诉我如何重新放置标记?不创建新的实例?

编辑:

我已经创建的代码来重新创建相同的标记,它的工作原理,但它不是完美的解决方案了!

而标记的Google文档不能解决问题。

回答

2

添加以下代码正下方obj.marker.setMap(map);obj.marker.setAnimation(google.maps.Animation.DROP);

这里参考:Marker Animations

+1

那正是我想要的 - 它就像一个魅力。我做的唯一更改是在obj.marker.setMap(null)之后运行setAnimation;谢谢! – Karol

相关问题