Itinéraire avec plusieurs points
Bonjour tout le monde
je voulais lier plusieurs points entre eux avec google map mais le probléme que ça marchait avec 2 points mais 3 non .
les cordonnées des points sont dans la database , je les importe avec un autre fichier en utilisant JSON , dans mon cas par exemple j'ai 3 points
point(A)=paris
point(B)=berlin
point(C)=prague
je voulais : A---->B---->C
mais le code affiche que B--->C
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var myObj2= JSON.parse(this.responseText);
var mapOptions = {
center: new google.maps.LatLng(42.5584308, -70.8597732),zoom: 3,
};
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
var directionsDisplay=[];
for(var i=0;i<myObj2.length-1;i++){//myObj2.length=3
var depart = new google.maps.LatLng(myObj2[i].latitude, myObj2[i].longitude);// for :i=0 = point(A) .... i=1 =point(B)
var destination = new google.maps.LatLng(myObj2[i+1].latitude, myObj2[i+1].longitude);//i=1 : point(B)...i=2 =point(C)
directionsService = new google.maps.DirectionsService;
directionsDisplay[i] = new google.maps.DirectionsRenderer;
directionsDisplay[i].setMap(map);
var request = {
origin: depart,
destination: destination,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
alert(i) ; // je constate qu'il m'affiche pas i=0 ni i=1 .... il m'affiche seulement i=2 alors que normalement la boucle for s'arrete sur i<2 (i=1)
directionsDisplay[i].setDirections(response);
}
});
}
}
};
xmlhttp.open("GET", "db4.php?datee="+dd1+"&voiture="+dd6, true);
xmlhttp.send(); |
j'utilise une boucle for et si je teste avec alert(i) , je constate qu'il m'affiche pas i=0 ni i=1 .... il m'affiche seulement i=2
alors que normalement que la boucle s'arrete sur i<2 (i=1)
quelqu'un peut m'aider s'il vous plaît ?