1

グーグルマップ初心者です。現在、angularjs で ng-map を使用しています。div をクリックしたときに、メーカーにアニメーション (バウンスなど) を配置するのが難しいと感じています。どうすればそれができるか教えてもらえますか?

4

1 に答える 1

2

Div 要素をクリックしてマーカーをアニメーション化する方法の例を書きました (「Div 要素 - マーカー アニメーションを切り替えるには、クリックしてください!」というテキストがあるマップの下の div を参照してください)。ここで見つけることができます:

http://plnkr.co/edit/KATXex?p=preview

マーカーをアニメーション化するコードは次のとおりです。

if (marker.getAnimation() !== null) {
  marker.setAnimation(null);
} else {
  marker.setAnimation(google.maps.Animation.BOUNCE);
}

これを適切に機能させるには、「on」イベントでマーカーのアニメーション プロパティを null に設定する必要があったことに注意してください。

$scope.$on('mapInitialized', function(evt, evtMap) {
 map = evtMap;

 var mapMarker =  map.markers[0];
 mapMarker.setAnimation(null);
 marker = mapMarker;
});

デフォルトでは未定義です。つまり、この手順がないと、通常はマーカーを 2 回クリックする必要があります。1 回目はアニメーションを null に設定し、2 回目はアニメーションを BOUNCE に設定します。「未定義」の問題は、ng-maps ライブラリの問題である可能性があります。

于 2015-09-06T00:24:02.597 に答える