2010-11-11 156 views
1

我已经转换到Google Maps API的第3版,并且在我调用directionsService.route()时不断收到错误。地图呈现很好,但在Firebug中,我发现google会抛出错误“a is undefined(main.js line 16)”。Google Maps API v3 directions.route()请求

下面是相关代码:

self.gmap = new google.maps.Map(document.getElementById(id),mapOpts); 

self.dirService = new google.maps.DirectionsService(self.gmap); 

self.dirRenderer = new google.maps.DirectionsRenderer({ 
       draggable: false, 
       map: self.gmap, 
       markerOptions: {clickable: false}}); 

//定义出发地,目的地等...

self.dirService.route({ 
'destination' : destination, 
'origin' : origin, 
'travelMode' : google.maps.DirectionsTravelMode.DRIVING 
},function(result,status){ 
if(status == google.maps.DirectionsStatus.OK){ 
    self.dirRenderer.setDirections(result); 
    self.refreshMap(); 
} else { 
    alert(self.ERR_MapRoute); 
} 
}); 

在API文档,谷歌表示,只有出发地,目的地和travelMode是在方向请求中需要。有没有人遇到过这个问题?

回答

0

我以前使用覆盖图时没有出现在Map上的错误。或者初始化出了问题。 检查你的初始化,你可能错过了一些东西。

+0

好的,谢谢你的提示,我明白了。什么是工作,而不是调用的回调DirectionsService.route()自定义self.refreshMap(),我添加了一个监听器directionRenderer的方向改变的事件: – CZdeveloper 2010-11-12 19:09:56

+0

我添加了监听器: \t \t \t \t google.maps .event.addListener(self.dirRenderer,'directions_changed',function(){\t \t google.maps.event.trigger(this.getMap(),'resize');}); 然后我从路由()回调中删除了self.refreshMap() – CZdeveloper 2010-11-12 19:11:42