yandex-maps-unofficial / vue-yandex-maps

Yandex Maps 3.0 components library for VueJS.
https://yandex-maps-unofficial.github.io/vue-yandex-maps/
MIT License
77 stars 9 forks source link

Версия 2.1.1, кластер ведет себя не стабильно #291

Closed vermorag closed 7 months ago

vermorag commented 7 months ago

Версия библиотеки

2.1.1

Как воспроизвести

<YandexMap v-model="map" :settings="{ location }">
<YandexMapClusterer
                v-if="coreStore.mode === DeliveryMode.OFFICE"
                :grid-size="64"
                :zoom-on-cluster-click="true"
            >
                <YandexMapMarker
                    v-for="office in mapStore.offices"
                    :key="office.code"
                    :settings="{
                        coordinates: office.location,
                        hideOutsideViewport: true,
                        onClick: () => selectOffice(office),
                    }"
                >
                    <OfficeIcon
                        v-if="office.type === eOfficeType.OFFICE"
                        class=":uno: cursor-pointer max-w-none transform-office-icon"
                    />
                    <PickupIcon v-else class=":uno: cursor-pointer max-w-none transform-office-icon" />
                </YandexMapMarker>
                <template #cluster="{ length }">
                    <div
                        :class="{
                            ':uno: px-2': length < 10,
                            ':uno: px-1': length >= 10,
                            ':uno: py-2.5': length > 999 && length < 10000,
                            ':uno: py-1.5': length > 99 && length < 1000,
                            ':uno: py-0.5': length < 100,
                        }"
                        class=":uno: rounded-full bg-white border-2 border-brand-primary-active text-text-primary font-sans text-sm cursor-pointer"
                    >
                        {{ length }}
                    </div>
                </template>
            </YandexMapClusterer>
</YandexMap

Опишите проблему

Не совсем понимаю в какой именно момент возникает проблема, но когда точки собираются в кластер - сам

с кластером может пропасть. Маркер для него генерируется, но при этом внутри содержимого нет. Если поигрть с масштабом - через несколько итераций нужный div все таки создается и дальше не исчезает, на сколько успел заметить. image Гитхаб видео не дает залить, поэтому ссылк на диск: https://disk.yandex.ru/i/IZX2Lvqe64BJBQ

Дополнительная информация

Ошибка появилась после перехода с версии 2.1.0 на 2.1.1. Не совсем даже предавляю в кком направлении стоит смотреть. Видимо из-за новой оптимизации точек они не рендерятся.

На видео в начале выдвигается меню. Оно двигается за счет удаления класса со стилем right: -20rem, т.е. не через v-if, оно присутствует на моменте загрузки кластера.

Ответы на вопросы

  • [X] Я использую версию 2.x
  • [X] Я поискал похожие ошибки и не нашел таковых
daniluk4000 commented 7 months ago

Спасибо!

daniluk4000 commented 7 months ago

Кстати, чтобы заливать видео в гитхаб, перетаскивай прям его в окно с редактором, он по идее должен залить (у меня прокатывало)

daniluk4000 commented 7 months ago

Баг постараюсь исправить в ближайшие 2 дня. Переоптимизировал, кажется)

vermorag commented 7 months ago

Кстати, чтобы заливать видео в гитхаб, перетаскивай прям его в окно с редактором, он по идее должен залить (у меня прокатывало)

Там формат файла не нравится ему.

Баг постараюсь исправить в ближайшие 2 дня

Какая-то помощь нужна?

daniluk4000 commented 7 months ago

Какая-то помощь нужна?

Я воспроизвел на своем проекте, так что думаю нет