Я перешел на версию 3 API карт Google и продолжаю получать сообщение об ошибке, когда я вызываю directionService.route(). Карта отлично выглядит, но в Firebug я вижу, что Google выдает ошибку «a не определено (строка main.js 16)».Google Maps API v3 direction.route() request
Вот соответствующий код:
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, Google говорит, что только происхождение, место назначения, и travelMode являются требуется в запросе направления. Кто-нибудь испытал эту проблему?
Хорошо, спасибо за подсказку, я понял это. То, что сработало было, вместо вызова пользовательского self.refreshMap() в функции обратного вызова для DirectionsService.route(), я добавил слушатель направление измененному событию directionRenderer по: – CZdeveloper
слушателю я добавил был: \t \t \t \t Яндекс.Карты .event.addListener (self.dirRenderer, 'directions_changed', function() {\t \t google.maps.event.trigger (this.getMap(), 'resize');}); затем я удалил self.refreshMap() из обратного вызова route() – CZdeveloper