@Ismail-1

Как отследить клик на кластере vue-yandex-map?

Добрый день!
Если на YandexMafker я могу применить клик и вызываю нужный метод.
А на YandexClusterer клик не срабатывает.

У меня на одном адресе если есть 2 метки то они объеденены, и вот мне нужно при клике на эту обьединенную метку вызвать метод.

Подскажите как можно это решить, буду благодарен за любые подсказки

<YandexMap :coordinates="coordinates">

                        <YandexClusterer @click="test" :options="{ preset: 'islands#darkBlueClusterIcons'}">
                            <YandexMarker v-for="(ads, index) in ads_arr"
                                          :key="`1-marker-${index}`"
                                          :coordinates="[Number(ads.lat), Number(ads.lon)]"
                                          :marker-id="`1-marker-${index}`"
                                          :options="{ preset: 'islands#darkBlueStretchyIcon'}"
                                          :properties="{iconContent: ads.cena + 'тг'}"
                                          @click="getOneAds(ads.ads_id == undefined ? ads.id: ads.ads_id, ads.tip_obekta)"
                            >
                            </YandexMarker>
                        </YandexClusterer>
                    </YandexMap>
  • Вопрос задан
  • 177 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Яндекс.Карты
Вешать обработчик клика на экземпляр компонента смысла нет - он такого события не порождает. Придётся обращаться непосредственно к кластеризатору:

<YandexClusterer
  @vue:mounted="onClustererMounted"
  ...

methods: {
  onClustererMounted(e) {
    e.component.exposed.events.add('click', обработчикКлика);
  },
  ...

Чтобы не ловить клики с обычных меток, надо у них запретить всплытие соответствующих событий (@click.stop).

https://stackblitz.com/edit/vue-8tmom1?file=src%2F...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы