我必须像这样画出多个方向:
A-> B B-> C C-> D
在同一张地图上。
这很好用,但当我尝试删除B-> C时,方向仍在地图上。
为了绘制方向,我这样做:
directionsDisplay = new google.maps.DirectionsRenderer({
suppressMarkers: true,
polylineOptions: polylineOptionsActual,
preserveViewport: true
});
createItinerary : function(eventA, eventB, transportationMode, counter)
{
if (eventDate.getDate() == currentDay.getDate())
directionsDisplay.setDirections(result);
}
然后,每当我删除一条路时,我都会打电话
if (directionsDisplay != null)
{
directionsDisplay.setMap(null);
directionsDisplay = null;
}
我可以随时调用它,即使directionDisplay为null,也不会删除方向。
当我有多个方向时,我只有这个错误。
任何可能出错的想法?
答案 0 :(得分:1)
是的,你有一个循环中的directionsDisplay = new google.maps.DirectionsRenderer ....你必须做的是将变量存储在一个数组中。
示例(我假设一些for循环):
var directionsDisplayArray = [];
for(var i in data) {
directionsDisplay = new google.maps.DirectionsRenderer({
suppressMarkers: true,
polylineOptions: polylineOptionsActual,
preserveViewport: true
});
directionsDisplayArray.push(directionsDisplay);
}
然后您可以循环删除这些显示
for(var i in directionsDisplayArray) {
directionsDisplayArray[i].setMap(null);
}