javascript - Leaflet清除geojson层(折线)

标签 javascript jquery leaflet

我正在使用 geojson 创建折线。我的geojson的格式如下:

var myLines = [{
    "type": "LineString",
    "coordinates": [[-75, 21.9], [-75.4, 22.7], [-76.5, 23.4]]
    }, {
    "type": "LineString",
     "coordinates": [[-105, 40], [-110, 45], [-115, 55]]
}];

        L.geoJson(myLines).addTo(map);

我有一个清晰的折线函数,如下所示:

function clear_polyline(){
$.each(myLines, function(ind,poly){
map.removeLayer(poly);
});
}

该函数不会清除图层,也不会引发任何错误。 如何清除传单中的折线?

最佳答案

您需要从 map 中删除 Leaflet 图层,而不是创建该图层的 GeoJSON 对象。 L.GeoJSON 是一个FeatureLayer,它将包含“myLines”中的所有项目,因此您应该执行以下操作来删除它:

var linesFeatureLayer = L.geoJson(myLines);
linesFeatureLayer.addTo(map);

function clear_polyline() {
  map.removeLayer( linesFeatureLayer );
}

关于javascript - Leaflet清除geojson层(折线),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12712557/

相关文章:

javascript - AngularJS ng-click 被 {{$index}} 破坏

javascript - .AppendChild() 在执行脚本后不显示

javascript - Node +Jade+Express+Sqlite : How can I add a MiniMap to a Leaflet Map?

javascript - 使用 $.each 循环构建传单 GeoJson

javascript - 在 JQuery 中是否可以跳过可选参数并传递下一个参数?

javascript - 在Bootstrap tokenfield中如何解决TypeError:$(…).tokenfield在noconflict中使用jquery时不是函数

javascript/youtube api 检查播放限制的状态

javascript - 在单击或鼠标悬停时显示菜单/div 不是简单的方法

r - R : a legend for binary variables 的传单

javascript - 基于应用程序的 Web 或移动 View 限制 JSP 内容