In meiner App muss ich nach einem Klick auf die Google-Map die Lat- und Lng-Informationen zur weiteren Bearbeitung abrufen. Und da die App angularJs als Framework verwendet, habe ich die Angular Google Maps Bibliothek für Maps verwendet. Mein Code ist wie folgt:Angular Google Maps: Das LatLng von Click-Ereignisobjekt kann nicht abgerufen werden
$scope.map = {
center: {
latitude: 37.782551,
longitude: -122.445368
},
zoom: 12,
heatLayerCallback: function (layer) {
MockHeatLayer(layer);
},
showHeat: true,
// the issue is from here
onclick: {
click : function(maps, event, arguments) {
console.log(event.latLng); //return undefined
console.log(typeof(event)); //return string type instead of event object
}
}
};
und HTML-Tag ist wie folgt:
<ui-gmap-google-map center='map.center' zoom='map.zoom' events='map.onclick'>
<ui-gmap-layer namespace="visualization" type="HeatmapLayer" show="map.showHeat" onCreated="map.heatLayerCallback"></ui-gmap-layer>
</ui-gmap-google-map>
wie Sie sehen können, habe ich die events
-onclick
im map
-Array festgelegt.
Aber nach dem Debuggen ist die event
in der Handle-Funktion eine Zeichenfolge anstelle von Objekt, also was ist das Problem?
Vielen Dank für die Hilfe. Ihre Erklärung zu diesen drei Argumenten ist sehr hilfreich. Ich habe das falsche Argument benutzt! Aber noch eine Sache, der Array-Name muss nicht geändert werden. events ist der Attributname. Ich benutze immer noch den onclick und benutze das dritte Argument, und es funktioniert. Das für erinnern –
Danke für Ihre Eingabe, ich kann das nicht in der Dokumentation finden. Ich werde meine Antwort aktualisieren, so dass es erwähnt, dass 'Ereignisse' Array nicht umbenannt werden muss. –