0
我在尋找以下代碼leaflet0.7.7的解決方案:了Methode刪除不leaflet0.7.7工作
var currentlyDisplayedRectangles = []; //Used in CorridorHandler
drawRoute = function(route) {
route = new L.Polyline(L.PolylineUtil.decode(route)); // OSRM polyline decoding
boxes = L.RouteBoxer.box(route, this.wideroad);
var bounds = new L.LatLngBounds([]);
if (currentlyDisplayedRectangles) {
for (var i = 0; i < currentlyDisplayedRectangles.length; i++) {
//currentlyDisplayedRectangles[i].remove(); //Doesn't work in leaflet0.7.7
console.log(currentlyDisplayedRectangles[i]);
}
} else {
currentlyDisplayedRectangles = [];
}
for (var i = 0; i < boxes.length; i++) {
var displayedRectangle = L.rectangle(boxes[i], {color: "#ff7800", weight: 1}).addTo(this.map);
currentlyDisplayedRectangles.push(displayedRectangle);
bounds.extend(boxes[i]);
}
this.map.fitBounds(bounds);
return route;
}; //End drawRoute()
這工作完全在leaflet1.0.0但不是在leaflet0.7.7
currentlyDisplayedRectangles[i].remove();
這會給出該函數不可用的錯誤。
出於某種原因,我實際上可能不會更新到leaflet1.0.0,因爲很多其他的東西不再工作了,而且我必須接受這一點。
後來我肯定會更新。但與此同時,我需要一個解決方案,以前的版本的傳單。
有沒有人有一個想法如何解決這個問題?
好吧,我不知道如何實現它。你可以給我一個例子嗎? –
@Guido創建圖層時,請保留一個圖層。例如,'var polyline = L.polyline(dataArray,{color:'blue'})。addTo(map);'然後刪除它,使用:'map.removeLayer(polyline);' – user2441511
謝謝@Ivan,我得到了它... –