Leaflet 单击传单更改标记图标

Leaflet 单击传单更改标记图标,leaflet,marker,Leaflet,Marker,原始markerIcon=传单/图像/marker-icon-2x.png 当前标记=传单/images/map-marker.png 我有许多标记,我想更改当前单击标记的标记图标。如果我再次单击另一个标记,请将所有标记图标更改为原始标记,并使用当前图标更改当前标记 我也有标签附在每个标记。 当我单击当前图标时,我还想更改该标记的标签或删除标签 我怎样才能做到这一点 多谢各位。 标记与原始标记可见的图像 编辑-1 L.Icon.Change = L.Icon.Default.extend({

原始markerIcon=传单/图像/marker-icon-2x.png 当前标记=传单/images/map-marker.png

我有许多标记,我想更改当前单击标记的标记图标。如果我再次单击另一个标记,请将所有标记图标更改为原始标记,并使用当前图标更改当前标记

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

我怎样才能做到这一点

多谢各位。 标记与原始标记可见的图像

编辑-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);
                     });
L.Icon.Change=L.Icon.Default.extend({
选项:{
iconUrl:“传单/images/map marker.png”,
iconSize:新的L.Point(150,75),
}
});
var changeIcon=新的L.Icon.Change();
L.Icon.Original=L.Icon.Default.extend({
选项:{
iconUrl:“传单/图像/标记-icon-2x.png”,
iconSize:新的L点(45,81),
}
});
var originalIcon=新的L.Icon.Original();
标记。在('click',函数(e){
对于(变量i=0;i<$scope.markers.length;i++){
$scope.markers[i].setIcon(originalIcon);
}
})
//标记单击事件以显示中心全景
$scope.markers[index]。在('click',函数(e)上{
$scope.markers[index].setIcon(changeIcon);
});

如果我没有弄错的话,地图中有一个名为“eachLayer”的函数。我认为当你们创建一个标记时,传单会自动给出一个标识。因此,您必须在“eachLayer”函数中提供该ID。当它找到合适的标记时,应该有一个函数“popupclose”。若要添加,最好显示您的代码

如果我没有弄错的话,地图中有一个名为“eachLayer”的函数。我认为当你们创建一个标记时,传单会自动给出一个标识。因此,您必须在“eachLayer”函数中提供该ID。当它找到合适的标记时,应该有一个函数“popupclose”。若要添加,最好显示您的代码