我正在使用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);
});
}
此功能不会清除图层,也不会抛出任何错误。 如何清除传单中的折线?
答案 0 :(得分:11)
您需要从地图中删除Leaflet图层,而不是从图层创建的GeoJSON对象。 L.GeoJSON是一个FeatureLayer,它将包含“myLines”中的所有项目,所以你应该做这样的事情来删除它:
var linesFeatureLayer = L.geoJson(myLines);
linesFeatureLayer.addTo(map);
function clear_polyline() {
map.removeLayer( linesFeatureLayer );
}
答案 1 :(得分:1)
var linesFeatureLayer = L.geoJson(myLines);
linesFeatureLayer.clearlayer()