2012-05-25 4 views
0

J'ai créé une carte Google situé à: http://calwestcultural.com/sgs/example_map.htmlAPI Google Maps v3 - Aide Un lien vers le marqueur Google de texte Lien

Je suis en train de lier un texte dans mon menu Spry à gauche avec mes marqueurs de carte google/infowindow.

Mon javascript est limité car j'ai essayé de créer des ID pour chaque marqueur et un lien vers cet identifiant, mais cela n'a pas fonctionné. Je suis perplexe à ce stade.

Je voudrais aussi que mes marqueurs affichent le nom lorsque vous passez votre souris dessus. J'ai réalisé ceci en utilisant une carte de style différente, mais j'ai eu des problèmes pour créer des marqueurs, alors celui que j'utilise ci-dessus sera ma finale, je dois juste obtenir les liens pour référencer correctement.

S'IL VOUS PLAÎT TOUTE AIDE AVEC CELA SE TROUVERAIT DE MON JS HEADACHE MAINTENANT !!!!!!!!!

Répondre

1

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.

+0

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

+0

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. –

+0

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

Questions connexes