Очистить все полилинии от листовки карты
Я изо всех сил пытаюсь очистить все полилинии от моей карты, я очищаю только самые новые.
var polylines;
// add map polylines
function addPolyline(polyArray, colour) {
polylines = L.polyline(polyArray, {color: colour});
polylines.addTo(map);
}
// clear polylines
function clearPolylines() {
map.removeLayer(polylines);
}
Где addPolylines вызывается несколько раз, а clear Polylines вызывается один раз. Как я могу очистить все полилинии на карте?
2 ответа:
Вам придется запомнить их все или немного сжульничать и заглянуть в
map._layers
, чтобы найти их.Редактировать добавление примера кода с помощью @Ben:
function clearMap() { for(i in m._layers) { if(m._layers[i]._path != undefined) { try { m.removeLayer(m._layers[i]); } catch(e) { console.log("problem with " + e + m._layers[i]); } } } }