首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在control.layers中获取所选层?

如何在control.layers中获取所选层?
EN

Stack Overflow用户
提问于 2017-06-02 14:35:43
回答 1查看 8.2K关注 0票数 10

有没有办法使用leaflet apicontrol.layers中选择所有选定的图层

jquery的帮助下,我可以这样做:

代码语言:javascript
复制
$('.leaflet-control-layers-selector:checked')

但也许有一个api

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-02 22:30:43

没有用于此的API,但您可以很容易地自己创建一个:

代码语言:javascript
复制
// Add method to layer control class
L.Control.Layers.include({
    getActiveOverlays: function () {

        // Create array for holding active layers
        var active = [];

        // Iterate all layers in control
        this._layers.forEach(function (obj) {

            // Check if it's an overlay and added to the map
            if (obj.overlay && this._map.hasLayer(obj.layer)) {

                // Push layer to active array
                active.push(obj.layer);
            }
        });

        // Return array
        return active;
    }
});

var control = new L.Control.Layers(...),
    active = control.getActiveOverlays();
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44322326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档