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 :

comment fermer une infobulle lorsque je clique sur une nouveau marker [Google Maps]


Sujet :

APIs Google

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Juin 2011
    Messages : 23
    Points : 13
    Points
    13
    Par défaut comment fermer une infobulle lorsque je clique sur une nouveau marker
    bonjour,
    voilà mon probleme, j'ai une fonction quie me permet de creer mes marquers et de pouvoir afficher une infobulle au click.
    Le probleme est qu'en fait sur la version 3 de google map, les infobulles ne se ferme pas automatiquement à l'ouverture d'une autre, du coup je voudrais savoir comment m'y prendre pour fermer une infobullle automatiquement , en cliquant sur un nouveau marqueur
    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
    function CreationMarker(lati, longi)
    			{			
    			    var d = tab[i][1];
    				var sous_chaine=troncature(d,90);
     
                     // sous_chaine = 
    				var point = new google.maps.LatLng(lati, longi);		
    				/**************** Définition des options du marqueur*******/
    				optionsMarqueur = 
    				{
    					position: point,
    					map: carte,	
    					icon: tab[i][10],
    					title: tab[i][1]
    				};
    				// Création du marqueur
    				marqueur = new google.maps.Marker(optionsMarqueur);
     
    				markers.push(marqueur);	
    				// Définition du contenu de l'infobulle<img src="' + tab[i][9] + '" title="Logo Fournisseur" style=" width:30px;height: 30px;" />
    				contentString =
     
    								    '<div class="text_infobulle"  >'+
    								         ' <img src="' + tab[i][4] + '" height="80px"><a href="deal-'+tab[i][11]+'-'+tab[i][0]+'-'+tab[i][12]+'" title="'+tab[i][1]+'"><b> '+sous_chaine+'...</b></a></br> '+
    										 '<span id= nouveau_prix>' +tab[i][3]+'&euro;</span> au lieu de <span id="ancien_prix"> '+tab[i][2]+'&euro;</span></br>'+
    										'<a href="deal-'+tab[i][11]+'-'+tab[i][0]+'-'+tab[i][12]+'" title="'+tab[i][1]+'">Plus d\'infos ></a>'+
    										'<span class="img_infobulle"><img src="' + tab[i][9] +'" height="20px"></span>'+
    										'</div>';			
     
     
    						google.maps.event.addListener(marqueur, 'click', function() 
    						{
    								  if (!infowindow) 
    								  {
     
    									infowindow.setContent(contentString);
    									infowindow.open(carte,marqueur);
    								  } 
    								  else 
    								  { infowindow.close();
    									infowindow.setContent(contentString);
    								  infowindow.open(marqueur.getPosition());
    								  }
    						});
    			}

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 045
    Points : 44 485
    Points
    44 485
    Par défaut
    Bonjour,
    pour effacer les autres infoWindow il suffit de n'en créer qu'une que tu close, setContent et open.

    Sinon si tu crées une infoWindow par marqueur, ce qui semble être ton cas, alors sur le click tu stockes la référence de l'infoWindow en cours et sur le click suivant tu la close avant d'afficher la nouvelle et tu stockes la nouvelle référence et ainsi de suite...

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Juin 2011
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    merci pour l approche , je comprends le principe mais je ne vois comment le realiser, stocker la refence... oui!mais comment, puis je avoir un modele?
    merci

  4. #4
    Membre à l'essai
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Juin 2011
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    j'ai essayé en fait votre proposition mais je ne comprends pas en clait comment y procedé car jusqu ici l'infowindow.close() bloque tous mes marqueurs
    et du coup je ne parviens pas toujours à afficher alternativement mes infobulles

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 045
    Points : 44 485
    Points
    44 485
    Par défaut
    il faut commencer par reprendre cette partie de code erronée quant à l'appel de la méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      google.maps.event.addListener(marqueur, 'click', function () {
        if (!infowindow) {
          infowindow.setContent(contentString);
          infowindow.open(carte, marqueur);
        }
        else {
          infowindow.close();
          infowindow.setContent(contentString);
          infowindow.open(marqueur.getPosition()); // ERREUR ICI
        }
    la bonne utilisation est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    infowindow.open( map, marker);

  6. #6
    Membre à l'essai
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Juin 2011
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    merci smoking, le probleme est resolu

  7. #7
    Membre à l'essai
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Juin 2011
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    je m excuse, plutot merci nosmoking

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

Discussions similaires

  1. [Flex4] Affichage d'une page lorsqu'on clique sur le bouton
    Par web.ikram dans le forum Flex
    Réponses: 5
    Dernier message: 06/02/2011, 00h14
  2. afficher une image lorsque je clique sur un bouton
    Par moithibault dans le forum Tkinter
    Réponses: 4
    Dernier message: 06/06/2010, 11h32
  3. Réponses: 10
    Dernier message: 11/04/2008, 13h37
  4. Réponses: 2
    Dernier message: 11/05/2007, 10h37
  5. Comment jouer un clip lorsqu'on presse sur une touche
    Par jbidou88 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 04/05/2006, 08h21

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