Je me suis converti à la version 3 de l'API Google Maps et je reçois une erreur lorsque j'appelle directionsService.route(). La carte rend très bien, mais dans Firebug je vois que google lance l'erreur "a is undefined (main.js line 16)".API Google Maps v3 directions.route() demande
Voici le code correspondant:
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}});
// définir l'origine, la destination, etc ...
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);
}
});
Sur la documentation de l'API, Google dit que seule origine, la destination et sont travelMode requis dans une demande de directions. Quelqu'un a-t-il eu ce problème?
Ok, merci pour le conseil, je l'ai compris. Ce qui a fonctionné était, au lieu d'appeler le self.refreshMap personnalisé() dans la fonction de rappel pour DirectionsService.route(), j'ai ajouté un écouteur à la direction de l'événement a changé directionRenderer: – CZdeveloper
l'auditeur j'ai ajouté était: \t \t \t \t google.maps .event.addListener (self.dirRenderer, 'directions_changed', function() {\t \t google.maps.event.trigger (this.getMap(), 'redimensionner');}); puis j'ai retiré le self.refreshMap() du callback route() – CZdeveloper