传单清晰的geojson层(折线)

问题描述 投票:0回答:2

我正在使用 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);
});
}

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

javascript jquery leaflet
2个回答
13
投票

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

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

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

0
投票
var linesFeatureLayer = L.geoJson(myLines);
linesFeatureLayer.clearLayers()
© www.soinside.com 2019 - 2024. All rights reserved.