0
我已經在JSFiddle中創建了以下測試用例:http://jsfiddle.net/4Wtb3/15/。當我檢查路線A或路線B的複選框時,顯示路線。到目前爲止,這麼好...谷歌地圖Javascript V3:刪除路線,但保持其他路線顯示
if (routes.length > 0) {
for (var i = 0; i < routes.length; i++) {
var route = routes[i];
var request = {
origin: route.origin,
destination: route.destination,
travelMode: google.maps.TravelMode.WALKING
};
var directionsDisplay = new google.maps.DirectionsRenderer({
suppressMarkers: true,
preserveViewport: true,
polylineOptions: {
strokeColor: '#C6D300'
}
});
directionsDisplay.setMap(map);
directionsDisplays.push(directionsDisplay);
directionsService.route(request, function (result, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(result);
}
});
}
}
但是,當我取消它們,我想清除選定的路線。我使用數組跟蹤所有directionDisplay的方向(將地圖值設置爲'null')。首先我清除所有內容,然後重新繪製仍在列表中的每條路線。
問題:路線仍然在地圖上,即使我取消他們...
任何想法的到底是什麼回事?
正確答案。順便說一下:爲什麼if子句在這裏? – MrUpsidown
這是來自jsfiddle的用戶代碼。我已經在一些書/文章中看到了這種用法,並且人們似乎將它用作一些性能改進。在我看來,如果有正確的循環檢查是完全沒有必要的。 –
好吧,我明白了。同意。 – MrUpsidown