マップアプリケーションで作業していますが、マーカーを一度にアニメーション化できません。新しいマーカーをクリックすると、もう一方のアニメーションが削除されるようにしたいと思います。私はjs noobであり、私の頭を悩ましています。今のところ、アニメーションを取り除くことができるように、配列内にマーカーがあります。しかし、別のマーカーのアニメーションを設定するとき、他のマーカーのアニメーションをすべて削除するにはどうしたらいいですか?One Marker Animation一度にGoogleマップApi 3
3
A
答えて
1
私は、各マーカーに固有のIDを割り当てた後、次のコードを考え出すことになった...のように働きました魅力
for(var i in marker){
marker[i].setAnimation(null);
if(marker[i].id == item.id) marker[i].setAnimation(google.maps.Animation.BOUNCE);
}
1
あなたが投稿したコードはうまくいくようです。ただし、一度に1つのマーカーのみをアニメーション化したい場合は、最後のアニメーションマーカーの変数を保持する方が効率的で簡単です。たとえば、あなたのクリックイベントにしたり、マーカーを追加するとき、あなたはこのような何かを行うことができます:
previous_animation.setAnimation(null);
new_marker.setAnimation(google.maps.Animation.BOUNCE);
previous_animation = new_marker;
1
var new_marker = this;
if(prev_marker) {
if (prev_marker.getAnimation() != null) {
prev_marker.setAnimation(null);
new_marker.setAnimation(google.maps.Animation.BOUNCE);
prev_marker = new_marker;
}
} else {
new_marker.setAnimation(google.maps.Animation.BOUNCE);
prev_marker = new_marker;
}
iは@Nick Canzoneriスタイルを好みます。それを少し修正しました
0
これは私が働いていることです、私はグローバル変数のマーカーを持っています。いつでも私のマーカーにアクセスできます。
google.maps.event.addListener(marker, 'click', function(event) {
$("input#pickup-"+ marker.id +"").prop('checked', true);
for (var i = window.markers.length - 1; i >= 0; i--) {
window.markers[i].setAnimation();
if(window.markers[i].id === this.id) {
marker.setAnimation(google.maps.Animation.BOUNCE);
}
};
})
関連する問題
- 1. Google Maps Marker Animation、KnockoutJs付き
- 2. GoogleマップApiバージョン3
- 3. Google maps API multiple marker
- 4. Google map api draggable marker
- 5. Google Maps API JS Marker - Django
- 6. 角度のあるGoogleマップui-gmap-markerのパフォーマンスが遅い
- 7. Googleマップの使い方 'Marker Clusterer Plus'
- 8. Javascript Google Maps API draggable markerクリックスルー
- 9. GoogleマップAPIのトグルボタン
- 10. GoogleマップAPIエラー:GoogleマップAPIエラー:RefererNotAllowedMapError
- 11. Googleマップjs api version 3 infowindow glitch
- 12. AndroidマップGoogleマップapi vs JavaScript Googleマップapi
- 13. Googleマップjavascript api transit
- 14. Googleマップ(API)エラー
- 15. GoogleマップAPI v3の - ターゲットマーカー
- 16. api v 3 Googleマップの都市選択
- 17. Google Maps JavaScript V3 Api place div on marker
- 18. 1つのページに複数のGoogleマップ - Map API 3
- 19. Googleマップapi。複数のマーカー
- 20. 角度GoogleマップのAPIキーを
- 21. 角度2のGoogleマップAPIを統合
- 22. ディスプレイマーカーAndroid Googleマップapi
- 23. Google Map marker offset
- 24. Google Maps API 3 - パン/マップの境界を制限する
- 25. Googleマップのアドレス一覧Javascript
- 26. GoogleマップAPIのジェスチャーは(ズーム・回転...)
- 27. 角度のGoogleマップ表示
- 28. 緯度と経度は保存されていませんGoogleマップapi
- 29. Google Maps Marker Clustering
- 30. google maps:getSelected marker
それはまさに私のために動作しません...私は少しそれを変更した: '(もし!マーカー[i]を.getAnimation()= NULL){ ため(私はmarkersArray中){ markersArray [i] .setAnimation(null); \t} } else { marker [i] .setAnimation(google.maps.Animation.BOUNCE); } '既にアニメーション化されているマーカーをクリックすると、それらはすべて停止しますが、それでも目的の効果は得られません。 – Jay
少し近づいています...私はどのように挿入することができますか?次のコードの 'for(i in markersArray){ markersArray [i] .setAnimation(null); \t} // その後、ここでもし\t 行くべき切り替える(マーカー[i]を.getAnimation()!= NULL){ }他{ マーカー[i]を.setAnimation(google.maps.Animation.BOUNCE)。 } ' – Jay