首页 > 解决方案 > 根据传单中的缩放级别调整自定义标记图标大小的最佳方法是什么?

问题描述

我需要根据传单中的缩放级别调整一些自定义标记的大小。'zoomend' 功能仅适用于 Circles。

map.on('zoomend', function() {   
        )            
        var currentZoom = map.getZoom();
        myMarker.setRadius(currentZoom );
    });

标签: javascriptleaflet

解决方案


解决方案:

var myIcon= L.Icon.extend({
        options: {
            iconUrl: 'icon.png',
            iconSize: [7.5, 7.5],
            iconAnchor: [0, 0]
        }
    });

var ic = new myIcon({iconSize: [7.5, 7.5]});
    var marker = L.marker([-15.7745457, -48.3575684], {icon: ic}).addTo(map);

map.on('zoomend', function() {
var actualZoom = map.getZoom();
var newSize = 60/((20 - actualZoom )*2);

var resizedIcon = new myIcon({iconSize: [newSize ,newSize ]});      
marker.setIcon(resizedIcon );
});

推荐阅读