我是传单的新手,我想知道如何根据图块层的变化来更改标记图标。
例如:如果我在基础层中有位置图标,并希望在选择卫星作为图块层时将其更改为总线图标。
答案 0 :(得分:1)
最好的方法是定义图标并在图层更改时设置事件:
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);
}
});