A Google Maps API-t egy Nuxt.js alkalmazásban használom SPA módban, és a gmap click eseményből szeretnék meghívni egy függvényt a Vue.js metódusokban
Kipróbáltam a szokásos this.createInfoWindow()
-t, de a this
nem a VueComponent
, hanem a Window
.
A komponensemben inicializálom a google maps-t, és hozzáadom a kattintási eseményt a vue-hez csatolva:
async mounted() {
// Map initalization
const google = await gmapsInit()
this.map = new google.maps.Map(
document.getElementById('g-map'),
this.mapOptions
)
// Add click event
google.maps.event.addListener(this.map, 'click', e => {
// function call not working
this.createInfoWindow(e.latLng)
})
}
A vue metódusokban pedig a következő funkcióm van:
methods: {
async createInfoWindow(latLng) {
const google = await gmapsInit()
const infoWindow = new google.maps.InfoWindow({
content: 'InfoWindow',
position: latLng
})
infoWindow.open(this.map)
}
}
Úgy tűnik, minden működik, kivéve a függvényhívást: this.createInfoWindow(e.latLng)
Hogyan hívhatom meg a createInfoWindow
függvényt a kattintási eseményből?