首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法通过点击传单中的多边形来过滤geojson?

有没有办法通过点击传单中的多边形来过滤geojson?
EN

Stack Overflow用户
提问于 2015-03-14 19:20:14
回答 1查看 930关注 0票数 0

我用LayerGroup的切换按钮实现了geojson过滤器,但是我想知道是否有人使用地图上的鼠标来成功地使用同样的行为。

例子:世界各国地图。单击意大利多边形只会使意大利可见。单击“意大利境外”再次显示所有国家。希望我的问题很清楚。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-14 19:47:44

这只是一个连接到该层的单击事件,清除组并添加该单层的问题。也钩到地图点击,删除单层和恢复其余的。下面是一个快速-不干净的例子:

代码语言:javascript
复制
// vars to store stuff
var geojson, source, selected;

// Load the collection
$.getJSON(url, function (collection) {
    // Store collection for later use
    source = collection;
    // Create layer and add collection
    geojson = L.geoJson(collection, {
        // On each feature in collection
        'onEachFeature': function (feature, layer) {
            // Attach click handler
            layer.on('click', function () {
                // Set selected flag
                selected = true;
                // Clear the entire layer
                geojson.clearLayers();
                // Add the feature
                geojson.addData(feature);
                // Fit layer to map
                map.fitBounds(layer.getBounds());
            });
         }
    }).addTo(map);
});

// Attach to map click
map.on('click', function () {
    // Check if something's selected
    if (selected) {
        // Clear the entire layer
        geojson.clearLayers();
        // Restore the collection
        geojson.addData(source);
        // Fit map to collection
        map.fitBounds(geojson.getBounds());
    }
});

下面是柱塞的一个工作示例:http://plnkr.co/edit/o5Q0p3?p=preview

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29053159

复制
相关文章

相似问题

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