Google maps api 3 谷歌地图标记拖动结束方向-清除上一条路线

Google maps api 3 谷歌地图标记拖动结束方向-清除上一条路线,google-maps-api-3,Google Maps Api 3,我使用的是Google Maps API v3,我已经实现了一个基于标记拖动结束函数的方向渲染。但如果再次拖动标记,则不会删除原始方向集 地图是根据地理编码请求和源的自动完成文本框生成的,目的地是静态的。这一切都很好。我已经阅读了API文档,它说使用.setMap(null);选项,但它没有清除方向,我相信这是因为我没有重新生成地图。我的方向渲染代码如下: google.maps.event.addListener(markersrc,'dragend',function(){ geocoder

我使用的是Google Maps API v3,我已经实现了一个基于标记拖动结束函数的方向渲染。但如果再次拖动标记,则不会删除原始方向集

地图是根据地理编码请求和源的自动完成文本框生成的,目的地是静态的。这一切都很好。我已经阅读了API文档,它说使用.setMap(null);选项,但它没有清除方向,我相信这是因为我没有重新生成地图。我的方向渲染代码如下:

google.maps.event.addListener(markersrc,'dragend',function(){
geocoder.geocode({'latLng':markersrc.getPosition()},函数(结果,状态){
if(status==google.maps.GeocoderStatus.OK){
var请求={
原点:markersrc.getPosition(),
目标:markerdst.getPosition(),
travelMode:google.maps.Directions travelMode.DRIVING
};
var directionsDisplay=new google.maps.DirectionsRenderer();
var directionsService=new google.maps.directionsService();
directionsDisplay.suppressMarkers=true;
方向显示.setMap(地图);
directions display.setPanel(document.getElementById(“directions_panel”);
路由(请求、功能(响应、状态){
if(status==google.maps.directionstatus.OK){
方向显示。设置方向(响应);
}
});
}
});
});

有人知道如何清除原始方向吗?

在我看来,每次拖动标记时,都会重新创建方向显示和方向服务。相反,我认为您需要将它们创建为全局变量,这些变量只能由dragend事件侦听器更新。

在我看来,每次拖动标记时,都需要重新创建DirectionsDisplay和DirectionsService。相反,我认为您需要将它们创建为全局变量,这些变量只能由dragend事件侦听器更新