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
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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();
alors que normalement que la boucle s'arrete sur i<2 (i=1)
quelqu'un peut m'aider s'il vous plaît ?
Partager