Bonjour,
Je souhaite récupérer dans un tableau (précédemment initialisé) ce que me renvoie la fonction Callback, mais je ne vois pas comment m'y prendre.
function CalculDistance(origines,destinations){
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix({
origins: origines,
destinations: destinations,
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.METRIC,
avoidHighways: true,
avoidTolls: false
}, callback);
}
function callback(response, status) {
if (status != google.maps.DistanceMatrixStatus.OK) {
alert('Error was: ' + status);
} else {
var origins = response.originAddresses;
var destinations = response.destinationAddresses;
for (var i = 0; i < origins.length; i++) {
var results = response.rows[i].elements;
arrDist.push(results[i].distance.value/1000);
//console.log(origins[i],destinations[i],results[i].distance.value);
/*
for (var j = 0; j < results.length; j++) {
console.log(origins[i]+" => "+destinations[j]+" = "+results[j].distance.value/1000);
}
*/
}
}
}
var arrDist = CalculDistance(GMAPIorig,GMAPIdest)
merci de votre aide
Tu fais
CalculDistance(GMAPIorig,GMAPIdest)
Qui appelle donc le callback (ça c'est bon), dans le callback tu ajoute de l'ajax pour soumettre à PHP tes données.
var arrDist = [];
for (var i = 0; i < origins.length; i++) {
var results = response.rows[i].elements;
arrDist.push(results[i].distance.value/1000);
}
$.post( .... ) // Ajax ici
je n'ai finalement que peu avancé, mais je sais maintenant que getDistanceMatrix à un callback asynchrone et que du faite j'ai besoin d'attendre la réponse du callback.
J'aimerai en suite pouvoir stocker le tableau dans une base de donnée mais je n'ai aucune idée de comment m'y prendre pour récupérer ces valeurs.
PS : j'aimerai stocker le résultat dans ma base de donnée.
Logique imparable !
A force d'avoir la tête dans le guidon, on finir par n'y voir absolument plus iren.
Simple et efficace, merci beaucoup.