2016-10-06 4 views
-1

Ich lade dynamisch Json-Kartendaten. Sobald die Daten geladen sind, wollte ich über alle Elemente (Features) auf der Karte iterieren. Dann möchte ich einen "Listener" hinzufügen, wenn ein Benutzer auf das Feature klickt.Google Map Iterieren durch alle Objekte

map.data.forEach(function(feature) { 
    console.log(feature); 

    map.data.addListener(feature, 'click', function(event) { 
     console.log('click'); 
    }); 

}); 

Wenn ich console.log (Feature) gibt es Objekte. (Siehe Bild)

Andere Beispiele zeigen map.data.addListener (Polygon, 'klicken', function (event) {////}

Loggin zeigt ‚feature.getGeometry(). GetType(). toLowerCase()‘= Polygon, damit ich weiß, dass ich gute Objekte.

Wie kann ich durchlaufen alle Objekte und hören für den Klick? enter image description here

+1

Sie sollten nur einen Klick-Listener zur Datenschicht hinzufügen, wie [dieses Google Beispiel] (https://developers.google.com/maps/documentation/javascript/examples/layer-data-event) Ersetzen des "mouseover" durch "click" (außerhalb des .'forEach'). Was versuchst du mit dem "Klick" -Event zu tun? – geocodezip

+0

@geocodezip - Wow .. es hat funktioniert! Kannst du bitte eine ausgefüllte Antwort posten, damit ich dir Kredit geben kann. –

Antwort

1

Sie können wie this google example einen Klick Zuhörer an die Datenschicht hinzufügen Ersetzen des "mouseover" durch "click" (außerhalb des .forEach).

Verwandte Themen