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