J'essaie simplement d'obtenir la distance de 2 points sur une carte en utilisant l'API Google Maps. Utilisation de GDirections Le problème est qu'après la fin de la fonction, la distance est toujours nulle. Je sais que c'est parce que l'événement "load" n'est appelé qu'après la fin de la fonction. L'écouteur d'événement ne renvoie pas non plus de valeurs, donc je suis perplexe!Renvoyez la valeur de GEvent.addListener dans l'API Google Maps?
Est-ce que quelqu'un sait comment je peux faire que cette fonction retourne la distance? Peut-être existe-t-il un meilleur moyen d'obtenir la distance entre 2 points dans l'API Google Maps?
function getDistance(fromAddr, toAddr) {
var distance;
var directions;
directions = new GDirections(null, null);
directions.load("from: " + fromAddr + " to: " + toAddr);
GEvent.addListener(directions, "load", function() {
distance = directions.getDistance().html;
distance = distance.replace(/&.*/, '');
});
return distance; //outputs null
}