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 :

Fermer une infowindows quand une autre s'ouvre [Google Maps]


Sujet :

APIs Google

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2014
    Messages : 39
    Par défaut Fermer une infowindows quand une autre s'ouvre
    Bonjour à tous.

    J'aurais besoin de votre aide pour finaliser ce code qui permet d'afficher automatiquement une infowindow pour un marker placé par une recherche de lieu avec autocomplétion.

    La fonction suivante permet de faire ceci mais le problème est que quand un nouveau marker est crée par une nouvelle recherche, l'infowindow précèdente reste ouverte et se place sous la nouvelle infowindow du nouveau marker.

    J'aurais donc besoin que quand une nouvelle infowindow s'ouvre, l'ancienne se ferme automatiquement.

    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
     
    google.maps.event.addListener(autocomplete, 'place_changed', function() {
    	var place = autocomplete.getPlace();
    		if (!place.geometry) {
            // Informer l'utilisateur que le lieu n'a pas ete trouve.
            input.className = 'notfound';
            return;
            }
            // Si le lieu existe il est place sur la map.
            if (place.geometry.viewport) {
            map.fitBounds(place.geometry.viewport);
            } else {
            map.setCenter(place.geometry.location);
            map.setZoom(16);
            }
     
    	var contentString = '<div id="content">'+
    		'<div id="siteNotice">'+
    		'</div>'+
    		'<div id="bodyContent">'+
    		'<b>'+
    		place.formatted_address +
    		'</b>'+
    		'<br>'+ 	  
    		'<p>Latitude / Longitude:<br>' +	  
    		place.geometry.location +
    		'<br>'+
    		'<a href="'+
    		place.url+
    		'&ie=UTF8&t=m&z=14&vpsrc=0" '+
    		'target="_blank">'+	  
    		'Adresse URL du lieu'+
    		'</a>'+
    		'<br>'+
    		'</div>'+
    		'</div>';
     
    	var infowindow = new google.maps.InfoWindow({
            content: contentString
    	});
     
    	infowindow.open(map,marker);
     
    	// On defini une icone personalisee pour la recherche rapide		
    	var image = 'images/crosshairs.png';
            marker.setIcon(image);
            marker.setPosition(place.geometry.location);
     
    	// On initialise StreetView et on affiche le resultat de la recherche rapide dans le div 'div_streetview'
    	var optionsPanoramiqueStreetView = {
    		position: place.geometry.location,
    		pov: {
    			heading: 0,
    			pitch: 0,
    			zoom: 0,		
    		}
    	};
     
    	var panoramiqueStreetView = new google.maps.StreetViewPanorama(document.getElementById('div_streetview'), optionsPanoramiqueStreetView);
     
    	map.setStreetView(panoramiqueStreetView);
     
    });
    Merci de votre aide

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 208
    Par défaut
    Bonjour,
    ...que quand une nouvelle infowindow s'ouvre, l'ancienne se ferme automatiquement.
    dans ce cas n'utilise qu'UNE infoWindow et n'en récrées pas une à chaque fois.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2014
    Messages : 39
    Par défaut
    Tu veux dire que avec ce code une nouvelle infowindow est crée à chaque fois que l'evenement est déclanché:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	var infowindow = new google.maps.InfoWindow({
            content: contentString
    	});
     
    	infowindow.open(map,marker);
    Mais comment faire pour en ouvrir qu'une seule et qu'elle reste liée à l'evenement ?

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 208
    Par défaut
    Il te suffit de créer un infoWindow au départ puis de simplement changer son contenu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var infowindow = new google.maps.InfoWindow();
    puis dans ta fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    infowindow.setContent( content);
    infowindow.open(map,marker);

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2014
    Messages : 39
    Par défaut
    Merci de ton aide

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

Discussions similaires

  1. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  2. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  3. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  4. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48
  5. Réponses: 1
    Dernier message: 19/02/2007, 16h58

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