yandex-maps-unofficial / vue-yandex-map

Yandex Maps Component for VueJS
MIT License
357 stars 102 forks source link

Как правильно использовать objectManager с ymap-marker? #400

Open sinneren opened 2 years ago

sinneren commented 2 years ago

Карта хранится в модалке. Настройки карты:

:use-object-manager="true"
:coords="mapCenter"
:init-without-markers="false"
cluster-options="mapClusterOptions"
@map-was-initialized="handleMapInit"

внутри подключается ymap-marker. Если не подключить - точек изначально нет. Далее при фильтрации я удаляю все точки в objectManager.removeAll() и добавляю новые. При этом получается задвоение и точек из компонента и из OM. Наверно, логично, если маркеры хранятся не в ОМ.

Но если я уберу компонент маркера, то и OM не будет инициализирован, т.к. не будет ymaps объекта и инстанса карты. Это можно обойти методом loadYmap при маунте компонента, в первый раз сработает. Но при втором открытии модалки, на маунте не будет эмита события map-was-initialized что крашит всё.

Отсюда непонимание, я что-то не так делаю или это баг? Как заставить компонент эмитить map-was-initialized каждый раз при маунте?

Zorii4 commented 1 year ago

Получилось сделать? Я не понимаю где взять objectManager в принципе?

sinneren commented 1 year ago

да самому сделать. от компонента проку 0, только если нужна макимально простая реализация. всё остальное - только самому пишешь условный реф с картой и туда = new ymaps.ObjectManager(params);

Zorii4 commented 1 year ago

Да, так и есть похоже. У меня тем более не самый простой случай. 17к объектов, кластеры, баблы на кластере, плюс фильтры. Третий день сижу - решаю тоже отказаться от плагина.

sinneren commented 1 year ago

для 17к кластеризацию лучше вообще на беке делать

Zorii4 commented 1 year ago

согласен. но бек не может. он даже мне 17к объектов не может отдать в одном запросе из-за эластик-сёрч. я их собираю на фронте из нескольких запросов. всё сложно(( говорю ж третий день сижу. уже ненавижу эти карты)

kenvals commented 9 months ago

согласен. но бек не может. он даже мне 17к объектов не может отдать в одном запросе из-за эластик-сёрч. я их собираю на фронте из нескольких запросов. всё сложно(( говорю ж третий день сижу. уже ненавижу эти карты)

вы смогли решить? похожая проблема

Zorii4 commented 9 months ago

согласен. но бек не может. он даже мне 17к объектов не может отдать в одном запросе из-за эластик-сёрч. я их собираю на фронте из нескольких запросов. всё сложно(( говорю ж третий день сижу. уже ненавижу эти карты)

вы смогли решить? похожая проблема

В итоге бек сам у себя формирует из таблиц статичный json с нужной структурой и отдаёт мне его. Это достаточно быстро работает. Но я всё в итоге сделал через подключение карт в Githubissues.

  • Githubissues is a development platform for aggregating issues.