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 :

Infobulles et Markers [Google Maps]


Sujet :

APIs Google

  1. #1
    Membre à l'essai Avatar de clemissile
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 33
    Points : 10
    Points
    10
    Par défaut Infobulles et Markers
    Salut à tous,

    Dans le cadre d'un cours, je dois créer une application qui sert à afficher des parcours de randonnée (pédestre, VTT ou à cheval) sur une carte. Nous est fourni un fichier XML, et nous devons l'utiliser pour en extraire les informations utiles à la carte.

    Ainsi, j'ai codé une fonction pour créer les Markers et les infosbulles.

    Cependant, les markers doivent être 8 au total et avec mon code JS ci-dessous, il n'en apparaît que 5. De plus, dans l'infobulle doit s'afficher un titre, mais dans mon cas il ne correspond pas au Marker que l'on vient de cliquer.
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    var map;
     
    var initialize = function() {
      map = new google.maps.Map(document.getElementById('mapSection'), {
      center: {lat: 45.993, lng: 2.281},
      zoom: 5,
      mapTypeId: google.maps.MapTypeId.HYBRID
      });
     
      var infoBulle = new google.maps.InfoWindow();
     
      setMarkers(map, infoBulle);
     
      alert(nbMarker);
     
    }
     
    // Fonction qui determine la position des Markers         
    function setMarkers(map, infoBulle) {
      var xhr = new XMLHttpRequest();
      xhr.open('GET', 'data/randos.xml', true);
      xhr.onload = function() {
       var doc = xhr.responseXML;
       var element = doc.getElementsByTagName('gpx:trkpt'); // On recupère toutes les coordonnées
       var title = doc.getElementsByTagName('dc:title'); // On recupère tout les titres
       for (var i = 1; i <= element.length; i++) {
          var lat = element[i].getAttribute("gpx:lat"); // On récupère la latitude
          var lon = element[i].getAttribute("gpx:lon"); // Et la longitude
     
          var point = new google.maps.LatLng(parseFloat(lat), parseFloat(lon));
     
          var content = '<h3>'+ title[i].firstChild.data +'</h3>';
     
          var marker = createMarker(point, content, infoBulle);
       };
      };
      xhr.send(null);
    };
     
    // Fonction qui créé les Markers et les infoBulles associées     
    function createMarker(point, content, infoBulle) {
      var marker = new google.maps.Marker({
        position: point,
        map: map,
        draggable: false,
        animation: google.maps.Animation.DROP
      });
     
      google.maps.event.addListener(marker, 'click', function() {
        infoBulle.setContent(content);
        infoBulle.open(map, marker);
      });
    };
     
    window.onload = initialize;
    J'espère avoir été clair, et si quelqu'un a une idée de solution je suis preneur, car je m'arrache les cheveux là dessus depuis 2 jours.

    Cordialement.

  2. #2
    Membre à l'essai Avatar de clemissile
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 33
    Points : 10
    Points
    10
    Par défaut
    EDIT :

    J'ai finalement réussi à résoudre mon problème!
    Il venait simplement d'une erreur dans le ficher XML, le prof nous a dit de la corriger et tout marche à merveille.

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

Discussions similaires

  1. [Google Maps] StreetView Google dans un onglet d'une infobulle d'un marker
    Par informer dans le forum APIs Google
    Réponses: 2
    Dernier message: 02/11/2013, 12h19
  2. plusieur marker et infobulle
    Par groskanel dans le forum APIs Google
    Réponses: 5
    Dernier message: 23/12/2011, 13h18
  3. [Google Maps] comment fermer une infobulle lorsque je clique sur une nouveau marker
    Par franklin19 dans le forum APIs Google
    Réponses: 6
    Dernier message: 07/08/2011, 23h42
  4. Infobulles Marker V3
    Par domino313131 dans le forum APIs Google
    Réponses: 2
    Dernier message: 10/05/2011, 19h12
  5. génération dynamique de marker et infobulle
    Par Sylvain__A_ dans le forum APIs Google
    Réponses: 3
    Dernier message: 26/04/2009, 16h32

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