【发布时间】:2019-08-20 17:22:57
【问题描述】:
我是传单的新手,我想知道如何根据瓷砖层的变化来改变标记图标。
例如:如果我在基础层中有位置图标,并且希望在选择卫星作为平铺层时将其更改为总线图标。
【问题讨论】:
标签: leaflet
我是传单的新手,我想知道如何根据瓷砖层的变化来改变标记图标。
例如:如果我在基础层中有位置图标,并且希望在选择卫星作为平铺层时将其更改为总线图标。
【问题讨论】:
标签: leaflet
最好的方法是定义图标并在图层更改时设置事件:
var icon1 = L.icon({
iconUrl: 'marker.png',
iconSize: [38, 95],
});
var icon2 = L.icon({
iconUrl: 'bus.png',
iconSize: [38, 95],
});
var marker = L.marker([51.5, -0.09], {icon: icon1}).addTo(map);
map.on('baselayerchange', function(e) {
if(e.layer.name == "whatyouwant"){
marker.setIcon(icon1);
}else{
marker.setIcon(icon2);
}
});
【讨论】: