根据切片图层更改更改标记图标 - 传单

时间:2016-11-14 13:34:43

标签: leaflet

我是传单的新手,我想知道如何根据图块层的变化来更改标记图标。

例如:如果我在基础层中有位置图标,并希望在选择卫星作为图块层时将其更改为总线图标。

1 个答案:

答案 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);
     }
});