更改标记图标

问题描述:

原始-markerIcon =单张/图像/标记图标2x.png 电流markerIcon =单张/图片/地图marker.png更改标记图标

我有很多标志,我想更改当前点击标记的标记图标。如果再次点击另一个标记,则将当前图标的所有标记图标更改为原始标记和当前标记。

我也有标签附有每个标记。 当我点击当前图标时,我想更改该标记的标签或删除标签。

我该如何做到这一点?

谢谢。 enter image description here 图像的可见标记与原始markerIcon

EDIT-1

L.Icon.Change = L.Icon.Default.extend({ 
         options: { 
          iconUrl: 'leaflet/images/map-marker.png', 
          iconSize: new L.Point(150, 75), 
         } 
        }); 
        var changeIcon = new L.Icon.Change(); 

        L.Icon.Original = L.Icon.Default.extend({ 
         options: { 
          iconUrl: 'leaflet/images/marker-icon-2x.png', 
          iconSize: new L.Point(45, 81), 
         } 
        }); 
        var originalIcon = new L.Icon.Original(); 

        marker.on('click',function(e){ 
         for(var i = 0 ; i < $scope.markers.length ; i++){ 
          $scope.markers[i].setIcon(originalIcon); 
         } 


        }) 


        // marker click event to show the center pano 
        $scope.markers[index].on('click',function(e){ 
         $scope.markers[index].setIcon(changeIcon); 
        }); 

如果我没有弄错有一个命名为图 “eachLayer” 功能。我认为当你创建一个标记时,传单会给出一个自动ID。所以你必须在“eachLayer”函数中给出该ID。当它找到合适的标记时,应该有一个函数“popupclose”。添加它会更好,如果你显示你的代码...!