更改标记图标
问题描述:
原始-markerIcon =单张/图像/标记图标2x.png 电流markerIcon =单张/图片/地图marker.png更改标记图标
我有很多标志,我想更改当前点击标记的标记图标。如果再次点击另一个标记,则将当前图标的所有标记图标更改为原始标记和当前标记。
我也有标签附有每个标记。 当我点击当前图标时,我想更改该标记的标签或删除标签。
我该如何做到这一点?
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”。添加它会更好,如果你显示你的代码...!