在谷歌地图上明确方向路线

时间:2016-04-01 12:13:28

标签: javascript android google-maps google-maps-api-3

有一个奇怪的问题。我有一个设置有各种标记的地图。在infoWindow上,您可以点击“获取路线”,触发onClick ...第一次路线获取正确显示但是如果点击另一个标记并询问方向......前一个方向路线不会从地图中清除绘制新的

我已经尝试了一些事情,更具体地说是在stackoverflow question提供的解决方案,但似乎没有任何效果。

我的代码是:

    function getDirections(id) {

        var directionsDisplay = new google.maps.DirectionsRenderer;
        var directionsService = new google.maps.DirectionsService;

        var start = document.getElementById('pos1').innerHTML;
        var end = document.getElementById('pos'+id).innerHTML;

        end = end.slice(0, -1);
        end = end.substring(1);

        directionsDisplay.setMap(null);
        directionsDisplay.setMap(map);
        directionsDisplay.setPanel(document.getElementById('directions'));

        directionsService.route({
            origin: start,
            destination: end,
            travelMode: google.maps.TravelMode.DRIVING
        }, function(response, status) {
            if (status === google.maps.DirectionsStatus.OK) {
                directionsDisplay.setDirections(response);
                console.log(response);
            } else {
                window.alert('Directions request failed due to ' + status);
            }
        });

        disableMovement(false);
        infoWindow.close();

        var control = document.getElementById('directions');
        control.style.display = 'block';
        map.controls.push(control);
    }

在这张图片上你可以看到我得到的东西......之前的路线在新的路线被绘制之前没有从地图上删除。

enter image description here

1 个答案:

答案 0 :(得分:1)

以后有人需要它的答案......

这些:

    var directionsDisplay = new google.maps.DirectionsRenderer;
    var directionsService = new google.maps.DirectionsService;

必须在点击事件之外。