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是在方向请求中需要。有没有人遇到过这个问题?
好的,谢谢你的提示,我明白了。什么是工作,而不是调用的回调DirectionsService.route()自定义self.refreshMap(),我添加了一个监听器directionRenderer的方向改变的事件: – CZdeveloper 2010-11-12 19:09:56
我添加了监听器: \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