首页 > 解决方案 > 缩放级别上不同大小的标记(L.icon)

问题描述

我正在使用传单中的地图,我想知道如何为图标制作两种不同的尺寸,其中较大的尺寸会在最大的缩放级别上激活?目前,图标在最大缩放级别上看起来太小了。

这是确定图标大小的方式:

var playerIcon = L.icon({
    iconUrl: 'images/players.png',  // Location of file to be used as icon.
    iconSize: [38, 38],             // Size of icon on map.
});

我想知道是否可以为每个图标设置“iconSize1”和“iconSize2”之类的东西,并在缩放级别 6 上激活 iconSize 2。

提前致谢!

标签: leafletsizezoomingmarker

解决方案


您可以根据缩放定义 2 个图标并在标记上交换图标....

var playerIcon1 = L.icon(....);
var playerIcon2 = L.icon(....);

map.on('zoomend', function(e) {
    if (map.getZoom() < 6) {
        marker.setIcon(playerIcon1);
        } else {
        marker.setIcon(playerIcon2);
        }
});

推荐阅读