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.
Merci de votre aide
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); });
Partager