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 32 33 34 35 36 37 38 39 40 41
|
lancerParcours: function(dirIndex, pointIndex, interval){
//alert("Début traitement");
if(!this.fin)
{
// Dans le cas ou nous ne traitons pas le premier point
// on supprime l'ancien cercle
if(this.first) this.first = false;
else
{
this.removeOverlay(this.Polygons[0]);
this.Polygons.splice(0,1);
}
// on passe stepMarker a true. (afin de ne pas effectuer de callback)
if(!this.stepMarker) this.stepMarker = true;
// on créé le cercle
if(!this.Polygons) this.Polygons = new Array();
this.Polygons.push(createCircle(this.Directions[dirIndex].getMarker(pointIndex).getLatLng(), 0.008, 60, 2, 1, "#a00000", 0.9, "#ff0000"));
// on l'affiche
this.addOverlay(this.Polygons[0]);
// on redefini le zoom
this.setZoom(16);
// on centre la carte sur le cercle
this.panTo(this.Directions[dirIndex].getMarker(pointIndex).getLatLng());
// Dans le cas ou il reste des points a traiter dans la direction courante
if(pointIndex < this.Directions[dirIndex].Waypoint.length-1) pointIndex++;
else
{
// Si il n'y a plus de points on change de direction
if (dirIndex < this.Directions.length-1)
{
dirIndex++;
pointIndex = 1;
}
else this.fin = true;
}
// on rappelle la fonction avec une intervalle de "interval" ms
setTimeout(this.lancerParcours(dirIndex, pointIndex, interval),interval);
}
else alert("La tournée est terminée!");
}, |
Partager