l'api google maps v3 - ouvrir l'infowindow, en externe, cliquez sur
Donc j'ai une V3 carte qui est initialisé comme ceci:
function init() {
var mapCenter = new google.maps.LatLng(51.5081289,-0.128005);
var map = new google.maps.Map(document.getElementById('map'), {
'zoom': 6,
'center': mapCenter,
'mapTypeId': google.maps.MapTypeId.ROADMAP,
panControl: false,
mapTypeControl: false,
zoomControl: true,
zoomControlOptions: {
style: google.maps.ZoomControlStyle.SMALL,
position: google.maps.ControlPosition.LEFT_TOP
},
});
et une charge de marqueurs qui ressemblent à ceci:
var marker25837500 = new google.maps.Marker({
map: map,
pop_title: 'blah blah',
pop_wind: 'more blah',
zIndex: 999,
icon: 'images/map_icons/s6.png'
});
google.maps.event.addListener(marker25837500, 'click', onMarkerClick);
et enfin j'ai une fonction pour ouvrir la bulle informative sur il cliquez de chaque maker:
var infoWindow = new google.maps.InfoWindow;
var onMarkerClick = OpenInfoWindow;
function OpenInfoWindow() {
var marker = this;
infoWindow.setContent('<h3>' + marker.pop_title + '</h3>' +
marker.pop_body);
infoWindow.open(map, marker);
};
google.maps.event.addListener(map, 'click', function() {
infoWindow.close();
});
Ma question est, que dois-je faire pour faire un marqueur particulier (disons marker25837500) montrer son infowindow lors de l'une à l'intérieur de la page est cliqué peut-être quelque chose comme:
<div id="marker25837500">click to see infoWindow!</div>
Je suis sûr que c'est facile mais je ne peux voir mon chemin à mais il!
Grâce
OriginalL'auteur user1051849 | 2012-05-29
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
trigger
événement.Vérifier ce- https://developers.google.com/maps/documentation/javascript/reference#event
Edit: Aussi remarqué que vous appelez
onMarkerClick()
quandmarker25837500
est cliqué, mais vous avez appelé la fonctionOpenInfoWindow()
de sorte que vous pourriez avoir besoin de changer aussi.Pouvez-vous
alert(marker25837500)
dans cette fonction et vérifier si lemarker25837500
-le marqueur de la variable elle-même est dans la portée?oui - l'alerte me donne [objet HTMLDivElement] - ce qui ressemble ok. Aussi, j'ai raté quelques lignes au-dessus de la OpenInfoWindow qui j'ai maintenant ajouté dans... merci
Hmm. L'alerte devrait avoir montré un marqueur de l'objet se référant à votre code
var marker25837500 = new google.maps.Marker({...
Donc quelque chose d'autre est mauvais.oui - Uncaught ReferenceError: marker25837500x n'est pas défini - suis-je en ne déclarant pas la bonne? merci...
OriginalL'auteur Salman
Vous n'avez pas à faire quelque chose d'inhabituel ou de simuler un
click
sur le marqueur; assurez-vous juste lesOpenInfoWindow
fonction peut être atteint:Tant que le
InfoWindow
est dans la portée (peut être atteint lorsque l'OpenInfoWindow
fonction est appelée), cela devrait fonctionner correctement.OriginalL'auteur Sean Mickey