2011-07-12 6 views
5

私は2つの機能を持っている: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

関連する問題