首页 > 解决方案 > 是否可以在传单地图上获取当前标记列表?

问题描述

示例 我在当前地图视图的缩放更改上和之后创建了 6 个标记 我有 3 个标记 那么如何在缩放更改后获取当前屏幕上的标记列表?

 map.on('zoomend', function(e) {
     // want to get current onscreen markers list
 });

标签: javascriptleaflet

解决方案


这是一种方法......迭代地图上的图层,检查每个图层是否是标记,然后检查是否在当前范围内。

function getVisibleMarkers(map) {
    var markerList = [];
    map.eachLayer(function(layer) {
        if ((layer instanceOf L.Marker) && (map.getBounds().contains(layer.getLatLng())){
            markerList.push(layer);
        };
    };
return markerList;
}

推荐阅读