0
誰かがマーカーをクリックしてそのマーカーをクリックしたときにアイコンを変更するためにonlick seticon関数を追加したいと思います。私は試しました変更アイコンをクリックすると他のマーカーをクリックすると戻ってきます
google.maps.event.addListener(marker, 'click', function() {
marker.setIcon('/url.jpg')
}
しかし、アイコンは1秒後に古いアイコンに戻ります。 何か助けていただければ幸いです。
これは、現在のコードです:
function readData() {
var url = 'aircraft.json';
$.when($.getJSON(url)).done(function(data) {
$.each(data.aircraft, function(i, value) {
var plane = value;
var myLatlng = new google.maps.LatLng(value.lat, value.lon, value.flight, value.altitude);
if (markers[value.hex]) {
markers[value.hex].setPosition(myLatlng);
//console.log("moving marker for " + value.hex);
markers[value.hex].setIcon(getIconForPlane(value));
infoWindows[value.hex].setContent(text(value));
} else {
// create new
markers[value.hex] = new google.maps.Marker({
position: myLatlng,
icon: getIconForPlane(value),
map: map,
title: "Callsign: " + value.flight + ", Altitude: " + value.altitude,
});
//console.log("creating marker for " + value.hex);
infoWindows[value.hex] = createInfoWindow(value, markers[value.hex] ,map)
}
});
});
}
おかげで、以前に選択されたマーカーのキープトレース用のウィンドウレベルのVARを管理し、これにあなたのリスナーに、通常のアイコンを割り当てることができ、マーカーは強調表示されたままになりますが、別のマーカーをクリックしても通常の状態に戻りません。 –
答えが更新されました。 – scaisEdge
ありがとう@scaisEdge –