2016-09-21 3 views
0

Ich muss Info-Fenster auf der Karte öffnen, wenn ich auf einen Link auf der Kartenseite klicke (nicht selbst markieren). Hier ist mein Code so weit,Markierer customInfo durch Marker-ID in Google Maps erhalten

var marker = new MarkerWithLabel({ 
       map: resultsMap, 
       id: label, 
       position: latlng, 
       title: "Address", 
       // radius: int_radius , 
       draggable: false, 
       labelAnchor: new google.maps.Point(10, 35), 
       labelContent: label, 
       labelClass: "labels", 
       labelInBackground: false, 
       mapTypeId: google.maps.MapTypeId.ROADMAP, 
       icon: image, 
       customInfo: "dynamic data for each marker" 
     }); 

Und Aufruf Funktion

function bindInfoWindow(resultsMap, marker, infoWindow) { 
    google.maps.event.addListener(marker, 'click', 
     function(){ 
      infoWindow.setContent(marker.customInfo); 
      infoWindow.open(resultsMap,marker); 
     }); 

     $(document).on('click','.store-title', function(){ 
      var linkId = $(this).attr('id'); 
      infoWindow.setContent(marker.customInfo); 
      infoWindow.open(resultsMap,marker); 

     }); 
} 

In meiner Situation, die ich nicht einen Array Marker speichern kann. Gibt es eine Möglichkeit, marker.customInfo mit einer Bedingung wie unten zu erhalten? Bitte beachten Wenn ich auf Marker klicke, funktioniert es. Ich brauche es für die letzte Onclick-Funktion.

infoWindow.setContent(marker.customInfo where marker.id==linkId); 
+0

Bitte kann mir jemand helfen – cmit

Antwort

0

Dies könnte funktionieren, es in Ihrem bindInfoWindow zu halten, wie Sie es haben derzeit:

$(document).on('click','.store-title', function() { 
    var linkId = $(this).attr('id'); 
    if (linkId == marker.id) { 
     google.maps.event.trigger(marker, 'click'); 
    } 
}); 

Hinweis ich die als Datenparameter auf dem Click-Ereignis handle ich vorbei, aber Sie vielleicht muss das nicht tun. - nicht nötig scheint es.

Und dann trigger ich nur den Klick auf diesen Marker, anstatt den Code, den Sie bereits im Click-Handler des Markers haben, zu wiederholen.

Ich nehme an, die id Eigenschaft, die Sie zu jeder Markierung hinzufügen, ist das selbe wie das 'id' Attribut, das Sie auf Ihren Verbindungen lesen. Wenn nicht, können Sie eine identische Eigenschaft auf den Markern und Links haben, die Sie überprüfen können.

+0

Danke Dude! Du bist wundervoll. Ich kann das nicht glauben. Ich liebe dich, Mann – cmit