Я пытаюсь вызвать метод mapto "flyto ()", когда нажимаю на элемент в цикле v-for.Данные, которые я перебираю, включают в себя объект для lngLat: {lng: '', lat: ''}.
Я пробовал пару вещей, но не совсем уверен, как это должно быть структурировано:
<v-card v-for="(event, index) in eventDetails" :key="index">
<v-card
@click="flyTo(event.lngLat)">
flyTo(lngLat) {
this.map.flyTo({
center: [
lngLat.lngLat.lng,
lngLat.lngLat.lat
], zoom: 16
})
}
Я также пробовал небольшие изменения (но не повезло), такие как:
flyTo(lngLat) {
this.map.flyTo({
center: [{
lng: lngLat.lngLat.lng,
lat: lngLat.lngLat.lat
}], zoom: 16
})
}
Просто для справки ниже приведен пример с веб-сайта mapbox о том, как метод flytoдолжен быть структурирован (первый параметр в центральном массиве - lng, второй - lat):
flyTo() {
this.map.flyTo({
center: [
-74.50 + (Math.random() - 0.5) * 10,
40 + (Math.random() - 0.5) * 10
], zoom: 16
})
},
Я, очевидно, неправильно структурировал эту структуру.Просто не знаю, как это должно быть структурировано (довольно плохо знакомо с программированием).
Я хотел бы, чтобы это передавало lngLat выбранного элемента, сгенерированный циклом for, в метод flyTo, чтобы функция знала, где хорошо...flyto.
Ошибки, которые я получаю (в настоящее время):
[Vue warn] Ошибка в обработчике v-on: «Ошибка типа: невозможно прочитать свойство« lng »из неопределенного» * 1019*
And:
TypeError: Невозможно прочитать свойство 'lng' из неопределенного в VueComponent.flyTo