清除Google地图v3中的路线

时间:2013-05-31 07:03:13

标签: google-maps-api-3 map-directions

我们有两个文本框,在两个文本框中提供位置名称并转换为纬度和经度值。并将值传递给下面的函数。第一次方向加载成功,第二次修改文本框值,它将覆盖前一个方向。它没有清除以前加载的方向。我想清除方向并加载新方向。请帮忙。

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);
    }
}

1 个答案:

答案 0 :(得分:3)

移动此行:

directionsDisplay = new google.maps.DirectionsRenderer();

...... loadDirections()

否则,您将在每次函数调用时使用DirectionsRenderer的新实例,这将不会覆盖前一次调用中使用的实例创建的路由。