Original-markerIcon = leaflet / images / marker-icon-2x.png current-markerIcon = leaflet / images / map-marker.png
我有很多标记,我想更改当前点击标记的标记图标。如果我再次点击另一个标记,请将所有标记图标更改为原始标记,并将当前标记更改为当前图标。
我还为每个标记贴上了标签。 当我点击当前图标时,我想要更改该标记的标签或删除标签。
我怎样才能做到这一点?
谢谢你。 使用original-markerIcon可见标记的图像修改-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);
});
答案 0 :(得分:0)
如果我没有误会,有一个名为&#34; eachLayer&#34;在地图中。我想当你创建一个标记时,传单会给出一个自动ID。所以你必须在&#34; eachLayer&#34;中提供该ID。功能。当它找到合适的标记时,应该有一个函数&#34; popupclose&#34;。如果你展示你的代码,添加它会更好......!