Entonces, solo quiero agregar un marcador de mapa donde el usuario hace clic, pero parece que no puedo pasar un objeto de evento del mapa de Google para obtener la ubicación del clic del usuario para colocar un marcador:
<template> <div> <GmapMap :center="center" :zoom="7" map-type-id="terrain" style="width: 90%; height: 400px" @click=this.mark(coords) > <GmapMarker :key="index" v-for="(m, index) in markers" :position="m.position" :clickable="true" :draggable="true" @click="center=m.position" /> </GmapMap> </div> </template> <script> import {gmapApi} from 'vue2-google-maps' export default { computed: { google: gmapApi }, data() { return { center: {lat: 40.66058758, lng: -111.8364045}, markers: [], currentPlace: null }; }, mounted() { this.mark(event), this.$refs.mapRef.$mapPromise.then((map) => { }) }, name: 'Google Map', methods: { setPlace(place) { this.currentPlace = place; }, mark(event) { this.markers = [ { lat: event.lat, lng: event.lng, label: 'Marker' }, ] } } } </script> <!-- Add "scoped" attribute to limit CSS to this component only --> <style scoped> </style>Esto debería ser solo una cuestión de obtener "evento" y pasarlo a la función, ¿verdad?
Esto simplemente da como resultado "No se puede leer la propiedad 'lat' de indefinido"