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);
});
}

この関数はレイヤーをクリアせず、エラーもスローしません。リーフレットのポリラインをクリアするにはどうすればよいですか?

4

2 に答える 2

12

レイヤーが作成された GeoJSON オブジェクトではなく、リーフレット レイヤーをマップから削除する必要があります。L.GeoJSON は、「myLines」内のすべてのアイテムを含む FeatureLayer であるため、次のようにして削除する必要があります。

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

function clear_polyline() {
  map.removeLayer( linesFeatureLayer );
}
于 2012-10-03T19:05:37.333 に答える
1
var linesFeatureLayer = L.geoJson(myLines);
linesFeatureLayer.clearlayer()
于 2015-04-10T09:44:21.510 に答える