Pause javascript
coachedwin
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
je vous écris ce soir pour vous demander de l'aide dans mon développement de site web ou un avion doit suivre une polyline sur google map api v3
voici mon code:
je voudrais en fait faire une pause d'une seconde à chaque fois que je redessine mon marqueur avion d'où le setTimeout
mais quand je lance animate, mon avion ne fait pas ce qu'il doit, pouvez-vous m'aider?
merci
je vous écris ce soir pour vous demander de l'aide dans mon développement de site web ou un avion doit suivre une polyline sur google map api v3
voici mon code:
var Lyon=new google.maps.LatLng(45.65, 4.832153); var Turom=new google.maps.LatLng(46.8507,5.95187); var Danar=new google.maps.LatLng(48.0718,6.0376699999999); var Strasbourg=new google.maps.LatLng(48.5,7.754516); var traceParcours; var parcoursAvion=new Array(); var no_balise; var bal_prec; var bal_suiv; var vitesse=40;// km/h var temps; var patienter=500;// ms var t_parcouru; //Fonction qui initialise la map non écrite function agir(){ var lat; var lon; lat1 = bal_prec.lat(); lng1 = bal_prec.lng(); lat2 = bal_suiv.lat(); lng2 = bal_suiv.lng(); lat=lat1+t_parcouru/temps*(lat2-lat1); lon=lng1+t_parcouru/temps*(lng2-lng1); var positionGPS=new google.maps.LatLng(lat,lon); avion.setPosition(positionGPS); } function animate(){ no_balise=0; while (no_balise<parcoursAvion.length-1){ //Recuperation de la distance /* Traitement des données par rapport au séparateur, ici la virgule */ bal_prec=parcoursAvion[no_balise]; bal_suiv=parcoursAvion[no_balise+1]; var distance=0; var lat1 = bal_prec.lat(); var lng1 = bal_prec.lng(); var lat2 = bal_suiv.lat(); var lng2 = bal_suiv.lng(); var dLat = (lat2-lat1) * Math.PI / 180; var dLon = (lng2-lng1) * Math.PI / 180; var a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(lat1 * Math.PI / 180 ) * Math.cos(lat2 * Math.PI / 180 ) * Math.sin(dLon/2) * Math.sin(dLon/2); var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); var R = 6371; // km distance = R * c; alert('distance:'+distance); temps=Math.floor(distance/vitesse); for(t_parcouru=0;t_parcouru<=temps;t_parcouru++){ setTimeout('agir()',1000); no_balise++; } } } }
je voudrais en fait faire une pause d'une seconde à chaque fois que je redessine mon marqueur avion d'où le setTimeout
mais quand je lance animate, mon avion ne fait pas ce qu'il doit, pouvez-vous m'aider?
merci
A voir également:
- Pause javascript
- A javascript error occurred in the main process - Forum Matériel & Système
- Imprimante en pause hp ✓ - Forum Imprimante
- Telecharger javascript - Télécharger - Langages
- Facebook rencontre bug une pause s'impose - Forum Facebook
- Imprimante en pause ✓ - Forum Imprimante
1 réponse
Teste en mettant ton "setTimeout('agir()',1000);" après ton "no_balise++;", sinon l'incrémentation ne se fera pas.
Et puis mets ta variable "no_balise=0;" avec les autres tout en haut car à chaque fois que tu lances la fonction animate(), "no_balise vaut 0.
Et est-ce normal que tu n'ai pas de "return" dans ta "fonction agir()" ?
Et puis mets ta variable "no_balise=0;" avec les autres tout en haut car à chaque fois que tu lances la fonction animate(), "no_balise vaut 0.
Et est-ce normal que tu n'ai pas de "return" dans ta "fonction agir()" ?