Skip to content

Releases: yandex-maps-unofficial/vue-yandex-maps

2.1.2

17 Apr 13:36
9610fb2
Compare
Choose a tag to compare
  • Исправлена ошибка, при которой в кластеризаторе могли пропадать кластеры
  • Обновлены типы Яндекс Карт

2.1.1

06 Apr 12:31
bc39b6f
Compare
Choose a tag to compare

Изменения и улучшения

  • Внедрены улучшения производительности для Vue 3. Теперь будет рендериться меньше элементов. Особенно улучшения будут заметны тем, кто использовал множество полигонов
  • Улучшена производительность при обновлении данных и использовании кластеризатора
  • Улучшена производительность при отрисовке попапов Default-маркеров
  • Добавлен экспорт vue-yandex-maps/css для удобного доступа (только для случаев, когда CSS не зарегался автоматически)
  • Доработано API ранее внутренней функции createYmapsOptions, функция добавлена в документацию вместе с гайдом по ручной установке библиотеки

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

  • Исправлена ошибка, при которой маркеры могли крашить карту при задании недостаточно подробного ключа или отложенной отрисовке (например, через v-if)

2.1.0

17 Mar 12:10
fb18879
Compare
Choose a tag to compare

В данной версии добавлен упущенный функционал ymaps3.suggest/ymaps3.router, улучшены старые функции и добавлены новые, исправлено несколько ошибок, а также обновлена версия библиотеки типов Яндекса.

Поддержка токенов API ymaps3

Добавлен новый параметр при инициализации: servicesApikeys. Позволяет задавать ключи для Интерфейсов API Яндекс Карт.

На данный момент поддерживается два параметра: suggest и router - позволяют использовать ymaps3.suggest и ymaps3.route соответственно.

Таким образом, в библиотеку был добавлен ранее пропущенный функционал. Также добавлено два новых примера и обновлена документация API ymaps3.

Изменения и улучшения

  • useYMapsLocationFromBounds переименована в getLocationFromBounds. Старое название было оставлено для обратной совместимости
  • Добавлены новые функции: getBoundsFromCoords и getCenterFromCoords
  • В getLocationFromBounds добавлена поддержка автоматического округления и коррекции зума параметрами roundZoom и comfortZoomLevel
  • Экспортирован тип YandexMapGetLocationFromBoundsOptions с настройками getLocationFromBounds

С этими функциями разработчик теперь может силами библиотеки реализовать тот же функционал, что реализован в пропсе zoomOnClusterClick кластера.

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

  • Внедрён костыль, выполняющий preventDefault на встроенные кнопки Яндекса, чтобы они не вызывали submit на <form> (если таковая была).
    • Изменение не должно ничего сломать, но если сломало - пишите
    • Данный костыль будет удалён после исправления ошибки со стороны Яндекса
  • Исправлена работа initializeOn: onPluginInit. Настройка не работала и никто этого не замечал всё это время :D

Библиотека типов Яндекса обновлена до 0.0.22

  • YMapDefaultSatelliteLayer был удалён из типизации - а значит может быть в будущем удалён совсем.
    • Во избежание Breaking Changes, в библиотеку были добавлены типы IYandexMapDefaultSatelliteLayer и IYandexMapDefaultSatelliteLayerProps, а также предупреждения как на странице примеров, так и в документации этого компонента
    • Разработчикам более не рекомендуется использовать этот компонент, так как он может быть удалён Яндексом в любой момент
  • Добавлен тип showScaleInCopyrights в настройки YandexMap
    • Соответственно, из нашей библиотеки был удалён костыль типов, добавленный в 2.0.0
  • Яндекс заменили в своей типизации все одинарные кавычки (') на двойные (")!!
  • Судя по всему, была добавлена функция setCamera в модельку YandexMap
  • Добавлена настройка transparent в YMapControl (делает компонент прозрачным без фона и теней)
    • В библиотеке для YandexMapControl поддержали параметр settings (ранее настроек у контрола не было)
    • Также был обновлён пример "Элементы управления" в документации нашей библиотеки
  • В DefaultFeaturesLayer и DefaultSchemeLayer добавлен параметр source, а также параметр layers вместо layersInfo
    • Вряд вам пригодится эта информация
  • Яндекс исправили типы YMapScaleControl
    • Убран костыль с типом этого компонента на стороне нашей библиотеки

2.0.1

03 Mar 11:26
e43f97e
Compare
Choose a tag to compare
  • Снижено число ререндеров одних и тех же кластеров при выполнении зума и прочих действий

2.0.0

18 Feb 13:19
443e9aa
Compare
Choose a tag to compare

Это - первый стабильный мажорный релиз vue-yandex-maps за более чем двухлетний период.

В этой версии главным изменением стал переход на Яндекс Карты 3.0, а помимо всего прочего - улучшенная поддержка TypeScript, Nuxt, и в целом Developer Experience.

Что дальше?

На короткой перспективе планируется разработать библиотеку для упрощения работы с Yandex Maps API, ибо многие фичи со старых Карт доступны теперь только так.

На более длинной (в течение 2024) - отказ от Vue 2 и части костылей, замена существующих тестов на Vitest, и, конечно, поддержка и развитие библиотеки.

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

Всех поздравляю со стабильным релизом и желаю приятного пользования! Ваш @daniluk4000.

Also, English translation is currently not supported in docs. If somebody needs that - please fill a feature request and/or vote for it with reactions. I'm just not sure if somebody needs English Translation for this library nowadays.

Изменения в этой сборке по сравнению с rc.14

Улучшения и исправления

  • Добавлен компонент YandexMapScaleControl
  • Незначительно улучшена производительность при изменении настроек <yandex-map>
  • Добавлен забытый Яндексом тип showScaleInCopyrights в settings <yandex-map>
  • Поле popup.content у DefaultMarker больше не является обязательным в типизации
  • Устранены ложнопозитивные ошибки типизации у всех v-model

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

  • Переработано множество старых примеров и добавлено множество новых
  • Добавлена отдельная страница со списком примеров
  • Обновлена ссылка на список изменений - теперь она ведёт на релизы
  • Раздел "О проекте" убран из хедера и приведён в релизное состояние
  • Добавлен дисклеймер об обновлении на версию 2.x
  • Добавлена информация об установке в Astro
  • Добавлен раздел документации с API ymaps3

Техническое

  • Из сборки удалён CHANGELOG.md. Всё равно его в ней никто не читает, а сборка станет чуть меньше по размеру (и не будет расти с каждым новым релизом)

2.0.0-rc.14

13 Feb 09:45
e63a9b1
Compare
Choose a tag to compare
  • Исправлены редкие ошибки с реактивностью вложенных объектов внутри настроек компонентов Яндекса
  • Исправлен редкий краш карты, возникавший, если скрыть (unmount'нуть) компонент до того, как загрузится скрипт Яндекса
    • Наиболее ошибка могла быть заметна на медленном интернете

2.0.0-rc.13

05 Feb 10:31
c72fdd0
Compare
Choose a tag to compare

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

  • Исправлена ошибка, при которой cursor-grab мог потенциально привести к крашу страницы, если инициализация карты не была завершена
  • Теперь cursor-grab будет проверять ещё и на то, нажата ли кнопка мыши пользователя (:focus, :active), а не только перемещается ли карта

2.0.0-rc.12

01 Feb 09:30
7ee1891
Compare
Choose a tag to compare

Эта версия является предфинальной. Что осталось до релиза:

  • Внедрить новые примеры от Яндекса
  • Возможно, реализовать фичу с порядком координат (#200)
  • Протестировать библиотеку на одном крупном проекте внутри моей компании (там много полигонов)

Вполне вероятно, следующая версия будет уже 2.0.0.

Библиотека типов Яндекса обновлена до 0.0.21

  • sphericalMercator был признан deprecated. Есть какой-то новый пакет, который нужно установить из npm, что идёт вразрез со всем остальным. В библиотеке, пока что, SphericalMercator продолжит использоваться, и WebMercator появится, когда его можно будет импортировать через ymaps3.import (как остальные пакеты)
  • В controls-extra появился компонент YMapScaleControl. Пока что он не работает (его нельзя импортировать)
  • Убраны зависимости реакта и vue при установке библиотеки. Это должно решить ряд возникавших ранее конфликтов

Улучшения

  • Улучшена производительность при использовании cursor-grab
    • Больше всего это могло быть заметно, если включить cursor-grab при использовании большого числа маркеров
  • Существенно улучшена производительность кластера при работе на большом количестве маркеров
    • В частности, убраны страшные фризы при каждом зуме
    • Улучшения наиболее заметны в Vue 3
0129.4.mp4

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

  • Исправлен потенциальный краш при срабатывании реактивности Default-маркера
  • Исправлена потенциальная утечка памяти на клиенте
  • Исправлена реактивность пропса readonly-settings

Техническое

  • Незначительно переработаны экспорты. Исправит проблемы, возникающие в Webstorm старых версий
  • Изменён текст ошибки, возникающей, когда у компонентов нет инстанса карты или родителя. Кроме того, эти ошибки больше не помечены как internal. Исправляет #195

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

  • Исправлена работа примера "Перетаскивание объектов"
  • Все стили в примерах из :style перемещены в <style>, чтобы не путать тех, кто это смотрит - люди начинали думать, что по другому нельзя задавать стили
  • В общие принципы компонентов добавлена информация о порядке координат Яндекса
  • В меню API добавлена ссылка на функцию "initYmaps"

2.0.0-rc.11

04 Jan 17:45
dca77ba
Compare
Choose a tag to compare

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

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

Изменения

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

zoomOnClusterClick

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

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

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

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

useYMapsLocationFromBounds

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

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

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

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

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

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

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

2.0.0-rc.10

24 Dec 11:59
2471d17
Compare
Choose a tag to compare

Изменения

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

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

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