簡體   English   中英

在單擊更改圖標時,然后在單擊其他標記時更改回

[英]On click change icon then change back when clicking on other marker

我想添加一個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,以跟蹤先前選擇的標記,並為此在列表器上分配普通圖標

  var selectedMarker = null;

  .....


  google.maps.event.addListener(marker, 'click', function() {
    if (selectedMarker !== null){
      selectedMarker.setIcon('/normal_url_icon.jpg')
    }
    marker.setIcon('/url.jpg');
    selectedMarker = marker;
  } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM