首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >去小叶层和L.marker方法

去小叶层和L.marker方法
EN

Stack Overflow用户
提问于 2013-12-24 05:35:18
回答 2查看 50.3K关注 0票数 17

我想知道是否有人知道如何使用以下约定添加一层点,或者是否可以实际删除它们:

代码语言:javascript
复制
var pointsLayer, someFeatures = [{
            //Hard coded for now
            "type": "Feature",
            "properties": {
                "name": "Company A",
                "show_on_map": true,
                "icon": 'img/violations.png'
            },
            "geometry": {
                "type": "Point",
                "coordinates": [43.22519, -107.69348]
            }
        }, {
            "type": "Feature",
           .
           .
           .
   }];
for(w=0; w < someFeatures.length; w++){
                pointsLayer = L.marker(someFeatures[w].geometry.coordinates, {icon: violations})   
                    .bindPopup("Company: "+someFeatures[w].properties.name);
                    //add map points 
                    map.addLayer(pointsLayer);
            }

在类似的for循环中,典型的removeLayer(pointsLayer);对我不起作用。但是,这并不意味着没有循环遍历的方法。我只是不确定到底是怎么做的。我正在尝试添加积分,这是有效的,然后在一个事件上删除它们(不起作用)。有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2015-01-16 01:28:36

使用map.removeLayer()

代码语言:javascript
复制
var circle = L.circle([lat, lng], 1000).addTo(map);
map.removeLayer(circle);
票数 12
EN

Stack Overflow用户

发布于 2017-08-10 21:20:51

你可以直接在对象'map‘中遍历所有图层。

代码语言:javascript
复制
for ( key in map['_layers'] ){
    if(typeof map['_layers'][key]['feature'] !== 'undefined') {
        var l = map['_layers'][key];
        if( l['feature']['properties']['name'] === 'Company A' ) l.removeFrom(map);}}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20751523

复制
相关文章

相似问题

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