Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
sinneren opened this issue Jul 4, 2022 · 7 comments
Labels

Comments

@sinneren
Copy link

sinneren commented Jul 4, 2022

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

: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
Copy link

Zorii4 commented May 30, 2023

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

@sinneren
Copy link
Author

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

@Zorii4
Copy link

Zorii4 commented May 31, 2023

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

@sinneren
Copy link
Author

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

@Zorii4
Copy link

Zorii4 commented May 31, 2023

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

@kenvals
Copy link

kenvals commented Sep 22, 2023

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

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

@Zorii4
Copy link

Zorii4 commented Sep 24, 2023

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

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants