IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs Google Discussion :

Afficher et rafraichir l'itinéraire d'un Véhicule en temp réel [Google Maps]


Sujet :

APIs Google

  1. #1
    Membre habitué Avatar de Mozofeuk
    Inscrit en
    Novembre 2007
    Messages
    326
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 326
    Points : 133
    Points
    133
    Par défaut Afficher et rafraichir l'itinéraire d'un Véhicule en temp réel
    Bonjour à tous,

    Je réalise une petite application ou il m'est nécessaire d'afficher en temps réel la position d'un véhicule ainsi que son trajet restant jusqu'à son point d'arriver. Pour commencer j'ai donc réaliser une petite routine qui récupère en bdd un par un tous les points nécessaire pour tracer la polyligne de mon trajet restant. Je les insert dans un tableau javascript. Puis une fois tous les points collecté, j'utilise ce tableau pour tracer ma polyligne sur la carte :

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    //Represent a list of ItineraryMapPoint
    var ItineraryMapPointCoordinates = [];
    var ItineraryMapPointCount = 0;
     
    function AddBoxItineraryPoint(_color,_lat, _lng) {
        var _LatLngCircle = new google.maps.LatLng(_lat, _lng);
     
        var _ItineraryCircle = {
          fillColor: _color,
          strokeColor: _color,
          strokeOpacity: 1,
          strokeWeight: 4,
          center: _LatLngCircle,
          map : map,
          radius : 0.2
        };
     
        var _Thecircle = new google.maps.Circle(_ItineraryCircle);
     
        ItineraryMapPointCoordinates[ItineraryMapPointCount] = _LatLngCircle;
        ItineraryMapPointCount++;
        ItineraryObject[ItinerayCmpt] = _Thecircle;
        ItinerayCmpt++;
    }
     
     
     
    //Display all the waypoint on the Map
    function DrawItineraryMapPointPolyline(_color, _zIndex) {
     
        _zIndex = _zIndex + 10;
     
        var _ItineraryMapPointPath = new google.maps.Polyline({
            path: ItineraryMapPointCoordinates,
            strokeColor: _color,
            strokeOpacity: 1,
            strokeWeight: 4,
            zIndex: _zIndex
        });
     
        _ItineraryMapPointPath.setMap(map);
        ItineraryMapPointCount = 0;
        ItineraryMapPointCoordinates = [];
     
        ItineraryObject[ItinerayCmpt] = _ItineraryMapPointPath;
        ItinerayCmpt++;
    }
    Et quand je dois rafraichir mon itinéraire 5 seconde plus tard je vide mon tableau ItineraryObject afin de faire disparaitre mon trajet je recommence :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //Remove all the itinerary Object on the Map
    function RemoveItineraryDrawn() {
        for (var i = 0; i < ItinerayCmpt; i++) {
            if (ItineraryObject[i] != null) {
                ItineraryObject[i].setMap(null);
                ItineraryObject[i] = null;
            }
        }
        ItineraryObject = [];
        ItinerayCmpt = 0;
    }
    Déjà je trouve mon code très moche mais en plus c'est pas fluide du tout et je me dis qu'il y doit y avoir une méthode plus adapté pour faire ce que doit faire ! Si quelqu'un avait une piste sur la méthode à utiliser ?

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 089
    Points : 44 660
    Points
    44 660
    Par défaut
    Bonjour,
    tu n'es pas obligé de vider ton tableau.

    Il te suffit d'ajouter le point à la polyline pour que celui ci soit pris en compte

    On en a parler Actualisation Marker api v3 Google

  3. #3
    Membre habitué Avatar de Mozofeuk
    Inscrit en
    Novembre 2007
    Messages
    326
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 326
    Points : 133
    Points
    133
    Par défaut
    Je regarde ça merci ! En effet je me complique un peu la tache !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/10/2014, 14h03
  2. afficher des valeurs de la base de données en temps réel
    Par sihamnet dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 12/03/2014, 14h45
  3. Créer, afficher et rafraichir des courbes
    Par j.sineau dans le forum VB.NET
    Réponses: 1
    Dernier message: 28/03/2008, 10h40
  4. Réponses: 7
    Dernier message: 27/01/2006, 01h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo