我们有两个文本框,在两个文本框中提供位置名称并转换为纬度和经度值。并将值传递给下面的函数。第一次方向加载成功,第二次修改文本框值,它将覆盖前一个方向。它没有清除以前加载的方向。我想清除方向并加载新方向。请帮忙。
var directionsService = new google.maps.DirectionsService();
var directionsDisplay;
function loadDirections(start,end)
{
directionsDisplay = new google.maps.DirectionsRenderer();
if (start && end)
{
resultsDiv.update(''); // So we clear the div out ourselves
var request = {
origin: start,
destination: end,
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.DirectionsUnitSystem.IMPERIAL
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
directionsDisplay.setMap(map.map);
directionsDisplay.setPanel(resultsDiv);
}
}
答案 0 :(得分:3)
移动此行:
directionsDisplay = new google.maps.DirectionsRenderer();
...... loadDirections()
。
否则,您将在每次函数调用时使用DirectionsRenderer
的新实例,这将不会覆盖前一次调用中使用的实例创建的路由。