更改图标的功能不起作用 marker.setIcon



我做了一个地图,点击标签后我需要更改标签图标

我试图通过

marker.setIcon(url:'https://seoma.com/bitrix/templates/aspro_next/images/home/metka_2.png');
     markers.forEach(function(marker,i){
google.maps.event.addListener(marker,'click', 
    (function(marker,content,infowindow){ 
     return function() {
 infowindow_array.forEach(function(e,i){
  if(e!=infowindow){
  e.close();
    }
 })
markers.forEach(function(marker_,i_){
  if(marker_!=e){
         if( typeof 
     marker_.default_icon_ !== 'undefined'){
    marker_.setIcon('https://seoma.com/bitrix/templates/aspro_next/images/home/metka_2.png');
  }
    }else{
     marker.setIcon('https://seoma.com/bitrix/templates/aspro_next/images/home/metka_.png');     
    }
 });
  infowindow.setContent(content);
  infowindow.open(map,marker);
 };
})(marker,content,infowindow));
} 

单击标记的标记后,标记应更改。但是对于这个位置,添加了另一个图标,结果是这样的 http://prntscr.com/ojwwt3

您可以将侦听器添加到标记本身。这是一个示例小提琴:

https://jsfiddle.net/Ly1qu7e9/2/

  var marker = new google.maps.Marker({
    position: {lat: -33.890, lng: 151.274},
    map: map,
    icon: image
  });
  marker.addListener('click', function() {
    marker.setIcon("https://i.imgur.com/YtSE62r.png");
  });

最新更新