私はjavascriptを初めて使っています。何か間違っていると私に悪いことを許してくれることを願っています。Google Maps API - バウンスマーカーの問題2
実際、私はすでに問題を解決する方法を見つけましたが、自分のコードにどのように正確に反映させるかはわかりません。
Google Maps API - bouncing marker issue
私はstackoverflowの上で新たなんだので、残念ながら、私はそれをコメントすることはできません。
私の問題:私はそれにいくつかのマーカーをマップに取り組んでいます
。私がマーカをクリックすると、バウンスして別のアイコンで色を変えたいと思う。この時点までのすべての細かい、しかし、現時点で私がクリックしたすべてのマーカーは、バウンスを停止しません。別のマーカーをクリックするまで、マーカーがバウンスします。この時点で、「古い」マーカはバウンスを止め、新しいマーカを開始するだけです。
//Marker Icons
var unvisitedMarker = 'img/m1.svg';
var activeMarker = 'img/m2.svg';
var visitedMarker = 'img/m3.svg';
//Add Marker Function
function addMarker(props) {
marker = new google.maps.Marker({
position: props.coords,
map: map,
icon: unvisitedMarker
});
//Opens marker information
var marker.addListener('click', function() {
document.getElementById("paperContainer").style.top = '40vh';
document.getElementById("locationBar").style.top = 'calc(40vh - 2em)';
map.panTo(marker.getPosition());
//Panby the map-position
map.panBy(0, 350);
//Set active Marker Icon
marker.setIcon(activeMarker);
//Set Marker Animation
marker.setAnimation(google.maps.Animation.BOUNCE);
});
}
ので、私は、ユーザー「doublesharp」からリンクされている他のスレッドからこのコードを持って:私は私のOWMコードでこれを実装する方法を正確に知らない
// track marker that is currently bouncing
var currentMarker = null;
function bindInfoWindow(marker, map, infoWindow, html) {
google.maps.event.addListener(marker, 'click', function() {
document.getElementById('loc-info').innerHTML = html;
// remove the bounce from the "old" marker
if (currentMarker) currentMarker.setAnimation(null);
// set this marker to the currentMarker
currentMarker = marker;
// add a bounce to this marker
marker.setAnimation(google.maps.Animation.BOUNCE);
});
}
。さらに、「visitedMarker」へのバウンスをやめた後、アイコンを切り替える方法を知りましたか?
ありがとうございます!
と私は今、それがどのように動作するかを理解します!しかし、アイコンは「訪問済み」アイコンに切り替わりません。イメージは正しいディレクトリにありますが、youreコードも大丈夫です。あなたはその問題が何であるか考えていますか? – Flo
コード内での位置付けのためです。マーカーアイコンが「visitedMarker」に設定されていても、マーカーmarker.setIcon(activeMarker)が後に来て、訪問者をもう一度上書きします。私は正しい? – Flo
@Flo私は私の例で間違いを犯しました。今は修正されています。私は 'currentMarker.setIcon(visitedMarker)'の代わりに 'marker.setIcon(visitedMarker)'を使っていました。 – Titus