Cette page une façon de connecter un lien de barre latérale à vos marqueurs
http://www.wolfpil.de/v3/toggle-cats.html
copie vous avez besoin d'une variable globale gmarkers
//<![CDATA[
var map = null;
var gmarkers = [];
function initialize() {
les modèles à votre cas de cette page, l'ordre dans quels marqueurs sont ajoutés, ils doivent correspondre à l'ordre des entreprises dans la barre latérale. gmarkers
sera mis à jour dans createMarker
.
var point = new google.maps.LatLng(37.984798,-121.312094);
var marker = createMarker(point,'<div style="width:205px"><center><img src="images/sampleuopsign.jpg" /></center><h2>University of the Pacific</h2>3601 Pacific Avenue<br>Stockton, California 95211<br>209.946.2011<br><small>On the web visit: <a href="http://www.pacific.edu">www.Pacific.edu<\/a></small><\/div>')
...
function createMarker(latlng, html) {
var contentString = html;
var marker = new google.maps.Marker({
position: latlng,
map: map,
zIndex: Math.round(latlng.lat()*-100000)<<5
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(contentString);
infowindow.open(map,marker);
});
gmarkers.push(marker);
}
Avec le tableau en place, nous pouvons les adresser par index. Wolfpil déclenche simplement un événement de clic lorsqu'une entrée de barre latérale (lien) est cliqué:
function triggerClick(i) {
google.maps.event.trigger(gmarkers[i],"click");
}
Et chaque lien peut être écrit comme ceci, en remplaçant 0 et 1 avec l'ordre chaque marqueur a été ajouté:
<a href="javascript:triggerClick(0)">Bank of America</a>
<a href="javascript:triggerClick(1)">Bank of Stockton</a>
a propos du vol stationnaire marqueur montrant un titre, le plus simple est d'ajouter une option title
lors de la création de vos marqueurs, mais cela signifierait l'ajout d'un nouveau paramètre à votre fonction createMarkers:
function createMarker(latlng, storeName, html) {
var contentString = html;
var marker = new google.maps.Marker({
position: latlng,
map: map,
title: storeName,
zIndex: Math.round(latlng.lat()*-100000)<<5
});
Une meilleure alternative à long terme consiste à utiliser un objet pour gmarkers
au lieu du tableau, car l'ajout d'un élément au milieu de la liste désorganisera les éléments existants dans le code HTML. Ensuite, les emplacements peuvent être appelés par un ID de chaîne, tel que gmarkers['safeway']
. Au lieu de pousser un marqueur au tableau dans createMarker
, nous attribuons l'ID du marqueur:
gmarkers[id] = marker;
Si vous avez des problèmes écrire des commentaires ci-dessous s'il vous plaît! Je n'ai pas testé le code ci-dessus.
Merci, je viens de l'essayer mais mes boîtes d'information ne peuplent pas: http://www.calwestcultural.com/sgs/example_map.html J'ai simplement ajouté les lignes ci-dessus et créé un lien (Bank of America) et un autre lien sous PLACES D'INTÉRÊT pour l'Université de P. Just ne peut pas le faire fonctionner. – MizAkita
Coupez toute la fonction 'triggerClick' d'où elle est et collez-la avant cette ligne' function createMarker (latlng, html) {'. La fonction triggerClick doit également être globale pour pouvoir être appelée depuis les liens.Je n'ai pas mis trop de détails mais il importe où chaque chose est placée. –
Hmmm ... ok bien j'ai ajouté cette fonction avant. Je n'ai aucune erreur de code selon mon application dwcs6. Qu'est-ce que je fais mal? – MizAkita