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 :

Affichage de map avec plusieurs markers et une InfoWindow par marker [Google Maps]


Sujet :

APIs Google

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 8
    Points : 8
    Points
    8
    Par défaut Affichage de map avec plusieurs markers et une InfoWindow par marker
    Bonjour


    J'ai une probleme avec la map, en fait c'est un problème classique mais je n'ai pas trouvé de ressources pour le corriger.

    Ce que je voudrais affiche c'est plusieurs points avec une InfoWindow par marker.

    Je ne sait pas pourquoi il affiche juste les 2 premiers adresse

    Merci beaucoup

    Voici le code
    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
    57
    58
    59
    60
    61
    62
    63
     
    <script type="text/javascript">
            var infoBulle = new google.maps.InfoWindow();
            var maCarte;
     
            function initialize() {
    		//les options de la carte
    		        var optionsCarte = {
                    zoom: 6,
                    center: new google.maps.LatLng(48.833,2.333),
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                }
     
                var dataECOLE = new Array();
     
    			// les 2 points qui s'affiche 
                dataECOLE[0] = new Array('Lyon', 'Centre Formation Lyon', 45.767299, 4.834329, '', '', '<p>test</p>');
                dataECOLE[1] = new Array('Marseille', 'Centre Formation Marseille', 43.297612, 5.381042, '', '', ' ');
     
    			// les 2 points qui ne s'affiche pas 
                dataECOLE[3] = new Array('Paris', 'Centre Formation Paris', 48.856667, 2.350987, '', '', ' ');
    			dataECOLE[4] = new Array('Bordeaux', 'Centre Formation Bordeaux', 44.837368, -0.576144, '', '', ' ');
     
     
                maCarte = new google.maps.Map(document.getElementById("laCarteECOLE"), optionsCarte);
     
                var contenue;
                var point;
                var optionsMarqueur;
                var marqueur;
     
                for (var i = 0; i < dataECOLE.length; i++) {
                    point = new google.maps.LatLng(dataECOLE[i][2], dataECOLE[i][3]);
                    optionsMarqueur = {
                        position: point,
                        map: maCarte,
                        title: dataECOLE[i][1]
                    }
                    marqueur = new google.maps.Marker(optionsMarqueur);
     
                    contenue = '<div id="conteneurInfoBulle">' +
                                '<h1>' + dataECOLE[i][1] + '</h1>' +
                                '<h2>' + dataECOLE[i][4] + '</h2>' +
                                '<div id="texteInfoBulle">' +
                                '<div id="lettrineImage"><img src="' + dataECOLE[i][5] + '" title="Logo Entreprise" /></div>' +
                                dataECOLE[i][6] +
                                '</div>' +
                                '</div> ';
     
                    bindInfoWindow(marqueur, contenue);
                }
            }
     
            function bindInfoWindow(marqueur, info) {
                google.maps.event.addListener(marqueur, 'click', function() {
                    infoBulle.setContent(info);
                    infoBulle.open(maCarte, marqueur);
                });
            }
     
     
     
        </script>

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonsoir,
    il t'affiche "juste les 2 premiers adresse", c'est gentil à lui
    on peut lire
    et un peu plus loin
    les dimensions des tableaux ne sont pas les même
    passes par des objets cela est plus simple à écrire et à gérer

  3. #3
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    J'ai honte de ce que j'ai bien pu écrire....
    oubli tout ce que j'ai écrit, j'ai eu une GROSSE FATIGUE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var dataECOLE = new Array();
    // les 2 points qui s'affiche 
    dataECOLE[0] = new Array('Lyon', 'Centre Formation Lyon', 45.767299, 4.834329, '', '', '<p>test</p>');
    dataECOLE[1] = new Array('Marseille', 'Centre Formation Marseille', 43.297612, 5.381042, '', '', ' ');
    // les 2 points qui ne s'affiche pas 
    dataECOLE[3] = new Array('Paris', 'Centre Formation Paris', 48.856667, 2.350987, '', '', ' ');
    dataECOLE[4] = new Array('Bordeaux', 'Centre Formation Bordeaux', 44.837368, -0.576144, '', '', ' ');
    il te manque simplement le tableau d'indice [2], tu passes de 1 à 3

    Pour ne pas générer d'erreur tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var ind = 0; // le compteur
    var dataECOLE = new Array();
    // les 2 points qui s'affiche 
    dataECOLE[ind++] = new Array('Lyon', 'Centre Formation Lyon', 45.767299, 4.834329, '', '', '<p>test</p>');
    dataECOLE[ind++] = new Array('Marseille', 'Centre Formation Marseille', 43.297612, 5.381042, '', '', ' ');
    dataECOLE[ind++] = new Array('Paris', 'Centre Formation Paris', 48.856667, 2.350987, '', '', ' ');
    dataECOLE[ind++] = new Array('Bordeaux', 'Centre Formation Bordeaux', 44.837368, -0.576144, '', '', ' ');
    La remarque sur le passage par un tableau d'objet reste valable...

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Merci beaucoup

    ça marche très bien le code

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 35
    Points : 30
    Points
    30
    Par défaut
    bonjour ;
    ah oui , ça marche bien merci beaucoup

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Merci, code très utile.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/06/2008, 10h21
  2. Réponses: 3
    Dernier message: 11/04/2008, 09h31
  3. Réponses: 3
    Dernier message: 20/02/2008, 17h13
  4. Réponses: 2
    Dernier message: 26/10/2006, 10h13
  5. Conteneur avec plusieurs clés pour une valeur
    Par insomniak dans le forum C++
    Réponses: 6
    Dernier message: 15/10/2006, 18h18

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