🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

vue-yandex-maps

Package Overview
Dependencies
Maintainers
2
Versions
164
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vue-yandex-maps - npm Package Versions

1245
17

2.0.0-rc.11

Diff
daniluk40000
published 2.0.0-rc.11 •

Changelog

Source

[2.0.0-rc.11]

При установке этой версии настоятельно рекомендуется обновиться до последней версии Vue, чтобы обеспечить совместимость типизации.

Наиболее в этой сборке был задет кластер, поэтому его проверяйте после обновления особенно внимательно.

Изменения

  • Теперь кластеризатор поддерживает маркеры с одинаковыми координатами
  • Теперь для всех маркеров кластеризатора, если у них нет id, ему будет автоматически задан случайно сгенерированный id
  • Событие updatedBounds больше не возвращается, если деактивирован zoomOnClusterClick
  • В карту добавлена настройка cursorGrab
  • Статичный CSS карты перемещён в отдельный файл CSS (ранее был в style DOM'а). Это должно упростить работу, если вам потребуется их перезаписать

zoomOnClusterClick

Переписан алгоритм зума для zoomOnClusterClick. Теперь больше не вычитается случайное расстояние, вместо этого zoom карты корректируется на целочисленное значение.

Дело в том, что на целых значениях zoom Яндекс не скрывает маркеры при их приближении к углам карты, а на остальных может скрыть. Почему это происходит в принципе - вопрос хороший.

Также добавлены параметры strategy, где можно включить старое поведение значением свойства boundsCorrect, а также параметр disableMinimalZoomCorrectDiff.

Функционал экспериментальный и может вызывать проблемы. Для этих целей и была оставлена возможность вернуться на старое поведение. Сообщайте, если что-то пойдёт не так.

getLocationFromBounds

Выдернут из скомпилированных исходников Яндекса тяжелым трудом и потом. Принимает на вход bounds и инстанс карты, возвращает zoom и center. zoom идеально соответствует тому, как считает Яндекс, координаты почему-то незначительно отличаются (возможно, я где-то ошибся).

По сути, портирована утилита requireCenterAndZoom из Карт 2.0.

Исправления ошибок

  • Исправлена редкая ошибка, при которой кластеризатор крашился, если вы резко убирали из него маркер или меняли настройка кластера. Теперь эта ошибка стала предупреждением в консоли, а кластер справится, если ему будет чего-то не хватать, отдав Яндексу пустой маркер.
  • Исправлена ошибка, при которой карта могла крашнуться, если создать и почти сразу уничтожить какой-либо элемент внутри неё

Документация

  • Переработан текст на главной странице
  • Добавлена секция API

И всех с прошедшим новым годом! :)

daniluk40000
published 2.0.0-rc.10 •

Changelog

Source

[2.0.0-rc.10]

Изменения

  • Минимальная версия @yandex/ymaps3-types установлена на 0.0.20
  • Добавлена возможность изменять время, которое библиотека ожидает для загрузки Яндекс.Карт и для отрисовки компонентов. Также добавлена возможность полностью отключить это поведение (ждать вечно). См. https://github.com/yandex-maps-unofficial/vue-yandex-maps/issues/147
  • Незначительно улучшена производительность запуска Карт

Документация

  • Исправлена работа tilt-а камеры в примере "Изменение позиции камеры"
  • Улучшена человекочитабельность документации хинта
  • В документацию кластеризатора добавлен параметр maxZoom
daniluk40000
published 2.0.0-rc.9 •

Changelog

Source

[2.0.0-rc.9]

Улучшения

  • Из зависимостей удалён @nuxt/kit - он по идее и так есть у всех, кто использует Nuxt 3, незачем его ставить остальным
  • Улучшены возможности по установке breaking-версий @yandex/ymaps3-types: теперь можно установить любую версию до 1.x (если Яндекс до неё дойдёт)
daniluk40000
published 2.0.0-rc.8 •

Changelog

Source

[2.0.0-rc.8]

Улучшения

  • Добавлен компонент YandexMapDefaultSatelliteLayer для спутникового слоя

Исправления ошибок

  • Исправлена ошибка, при которой карта могла крашнуться при использовании real-settings-location
daniluk40000
published 2.0.0-rc.7 •

Changelog

Source

[2.0.0-rc.7]

Breaking Changes

  • Минимальная версия Vue поднята до 3.3

Исправления ошибок

  • Исправлена работа нового зума кластера для объектов, расположенных рядом

Улучшения

  • В Vue 3 был добавлен autocomplete слотов и их содержимого
  • Добавлен компонент YandexMapEntity
daniluk40000
published 2.0.0-rc.6 •

Changelog

Source

[2.0.0-rc.6]

Улучшения

  • Немного улучшена скорость запуска карты
  • Снижена вероятность краша карты при медленном интернете

Кластер

Добавлен новый параметр: zoomOnClusterClick! Как следует из названия, при клике на кластер произойдёт автоматический зум.

Из-за поведения Яндекса в зум встроена логика, высчитывающая область таким образом, чтобы маркеры в неё точно пропали, добавляя отступы для области на основе максимального расстояния между углами области.

По сути, пропс возвращает старое поведение кластеров при клике на них, но со своей реализацией. При нахождении багов или недочетов в логике - создавайте ишью!

Пропс принимает boolean или объект с параметрами duration (по умолчанию: 500) и easing.

И, даже если пропс не указан, при клике на кластер компонент теперь возвращает события trueBounds и updatedBounds ( точные и скорректированные координаты области), чтобы упростить свою реализацию этого функционала.

https://github.com/yandex-maps-unofficial/vue-yandex-maps/assets/10450717/bcf0b42c-50f8-4cbe-881c-55f9e74d5f56

daniluk40000
published 2.0.0-rc.5 •

Changelog

Source

[2.0.0-rc.5]

Breaking changes

  • Вариации position маркера left и right теперь откидывают на 100% вместо 50%
  • В кластере позиция маркеров теперь по умолчанию top-center left-center (то есть ровно по центру кружочка, которым обычно является маркер)
    • Вы можете изменить это поведение, передав position в clusterMarkerProps

Маркер

  • Добавлены параметры containerAttrs, wrapperAttrs и zeroSizes в YandexMapMarker:
    • Теперь контейнер YandexMapMarker будет иметь width: 0 и height: 0 по умолчанию, если передан position. Отключить (или форсировать) это поведение можно настройкой zero-sizes (boolean/null (по умолчанию: null))
    • Перезаписать и добавить свои стили, классы и другие атрибуты вы можете, используя новый пропс containerAttrs и wrapperAttrs (при передаче в них style он должен быть объектом)
  • Теперь маркер с 1 элементов разделился на 2: __ymap-marker (на него ставится width, height 0) и __ ymap-marker_wrapper (на него - translate и width fit-content, если есть translate (для корректной работы))
  • Добавлены вариации position top-center и bottom-center, которые будут задавать translateY в 50% вместо 100%
  • BREAKING: Вариации position left и right теперь откидывают на 100% вместо 50%
  • Добавлены вариации left-center и right-center

Кластер

  • Исправлен фатальный краш кластеров, при котором часть кластеров могла перестать отображаться
  • clusterMarkerProps теперь принимает доп. параметры из YandexMapMarker
  • Теперь кластеры центрируются автоматически (position top-center left-center)

Документация

  • Добавлен подробный Migration Guide

Рефакторинг

  • Изменена структура src/composables

Помогали в релизе

  • @zomkd (Документация)
daniluk40000
published 2.0.0-rc.4 •

Changelog

Source

[2.0.0-rc.4]

Новые возможности

position в YandexMapMarker

В YandexMapMarker добавлен параметр position (вне settings). Разработчик может использовать значение top left-center, чтобы сделать поведение как в Картах 2.0.

Подробная документация по доступным значениям (для чего это свойство нужно) доступна в документации компонентов ( Компоненты -> Основные -> YandexMapMarker).

Типизация

  • Добавлен и экспортирован тип YandexMapMarkerPosition
daniluk40000
published 2.0.0-rc.3 •

Changelog

Source

[2.0.0-rc.3]

Исправления ошибок

  • Исправлен запуск в Vue 2

Улучшена обработка параметров

При работе на реальном проекте столкнулись с тем, что Яндекс очень скупо объяснял, что пошло не так, если вы не указали обязательный параметр в settings.

Чтобы исправить это, была улучшена документация и добавлена дополнительная обработка параметров компонентов:

Сделаны обязательными settings в компонентах

  • YandexMapControls
  • YandexMapFeatureDataSource
  • YandexMapTileDataSource
  • YandexMapLayer
  • YandexMapDefaultMarker
  • YandexMapMarker
  • YandexMapFeature

Валидация будет проходить только на onMounted (перед подключением Яндекса) для случаев, когда настройки появляются позже, чем создаётся компонент.

Добавлена валидация обязательных параметров

  • YandexMap: location (только изменён текст ошибки)
  • YandexMapControls: position
  • YandexMapFeatureDataSource: id
  • YandexMapTileDataSource: id
  • YandexMapLayer: type
  • YandexMapDefaultMarker: coordinates
  • YandexMapMarker: coordinates
  • YandexMapFeature: geometry

Типизация

  • Из типизации YandexMapControlButton убран text
daniluk40000
published 2.0.0-rc.2 •