如何更改在谷歌渲染容器中显示的选定路线的事件?

时间:2013-06-02 15:32:34

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

以下是代码:

var map = new google.maps.Map(document.getElementById("map_canvas"), $scope.map_options);
var dirService= new google.maps.DirectionsService();
var dirRenderer= new google.maps.DirectionsRenderer()
var dirContainer=document.getElementById('dir-container');


var showDirections = function(dirResult, dirStatus) {
                if (dirStatus != google.maps.DirectionsStatus.OK) {
                    alert('Directions failed: ' + dirStatus);
                    return;
              }
              // Show directions
            dirRenderer.setMap(map);
            dirRenderer.setDirections(dirResult);
            dirRenderer.setPanel(dirContainer);
        };

  dirService.route( {origin: '158 cours tolstoi, villeurbanne',
        destination: '8 cours andré philip, villeurbanne',
          travelMode: google.maps.DirectionsTravelMode.DRIVING,
          provideRouteAlternatives: true }
                 , showDirections);

我想抓住在dirContainer中显示的路线之间选择另一条路线的事件。

替代路线显示在dirContainer中,因为provideRouteAlternatives:true。

事件

google.maps.event.addListener(dirRenderer, 'directions_changed', 
                    function() { 
                alert('a');
            });
更改替代路线时不会触发

提前谢谢。

2 个答案:

答案 0 :(得分:1)

<强>更新

v3 API组中的

from this post

没有事件。有一个功能请求要将其添加到API:

https://code.google.com/p/gmaps-api-issues/issues/detail?id=3565

应该是一个routeIndex_changed事件,但这似乎不起作用(并没有记录)。 routeindex_changed确实有效,但我没有在文档中看到它。

http://www.geocodezip.com/v3_SO_simpleMap_directions_changed.html

答案 1 :(得分:0)

以下是活动:

google.maps.event.addListener(dirRenderer, 'routeindex_changed', 
                    function() { 
                alert(dirRenderer.getRouteIndex());
            });