Releases: yandex-maps-unofficial/vue-yandex-maps
2.1.1
Изменения и улучшения
- Внедрены улучшения производительности для Vue 3. Теперь будет рендериться меньше элементов. Особенно улучшения будут заметны тем, кто использовал множество полигонов
- Улучшена производительность при обновлении данных и использовании кластеризатора
- Улучшена производительность при отрисовке попапов Default-маркеров
- Добавлен экспорт
vue-yandex-maps/css
для удобного доступа (только для случаев, когда CSS не зарегался автоматически) - Доработано API ранее внутренней функции
createYmapsOptions
, функция добавлена в документацию вместе с гайдом по ручной установке библиотеки
Исправления ошибок
- Исправлена ошибка, при которой маркеры могли крашить карту при задании недостаточно подробного ключа или отложенной отрисовке (например, через v-if)
2.1.0
В данной версии добавлен упущенный функционал 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
, а также предупреждения как на странице примеров, так и в документации этого компонента - Разработчикам более не рекомендуется использовать этот компонент, так как он может быть удалён Яндексом в любой момент
- Во избежание Breaking Changes, в библиотеку были добавлены типы
- Добавлен тип
showScaleInCopyrights
в настройки YandexMap- Соответственно, из нашей библиотеки был удалён костыль типов, добавленный в
2.0.0
- Соответственно, из нашей библиотеки был удалён костыль типов, добавленный в
- Яндекс заменили в своей типизации все одинарные кавычки (
'
) на двойные ("
)!! - Судя по всему, была добавлена функция
setCamera
в модельку YandexMap - Добавлена настройка
transparent
вYMapControl
(делает компонент прозрачным без фона и теней)- В библиотеке для
YandexMapControl
поддержали параметрsettings
(ранее настроек у контрола не было) - Также был обновлён пример "Элементы управления" в документации нашей библиотеки
- В библиотеке для
- В
DefaultFeaturesLayer
иDefaultSchemeLayer
добавлен параметрsource
, а также параметрlayers
вместоlayersInfo
- Вряд вам пригодится эта информация
- Яндекс исправили типы
YMapScaleControl
- Убран костыль с типом этого компонента на стороне нашей библиотеки
2.0.1
- Снижено число ререндеров одних и тех же кластеров при выполнении зума и прочих действий
2.0.0
Это - первый стабильный мажорный релиз 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
- Исправлены редкие ошибки с реактивностью вложенных объектов внутри настроек компонентов Яндекса
- Исправлен редкий краш карты, возникавший, если скрыть (unmount'нуть) компонент до того, как загрузится скрипт Яндекса
- Наиболее ошибка могла быть заметна на медленном интернете
2.0.0-rc.13
Исправления ошибок
- Исправлена ошибка, при которой
cursor-grab
мог потенциально привести к крашу страницы, если инициализация карты не была завершена - Теперь
cursor-grab
будет проверять ещё и на то, нажата ли кнопка мыши пользователя (:focus, :active), а не только перемещается ли карта
2.0.0-rc.12
Эта версия является предфинальной. Что осталось до релиза:
- Внедрить новые примеры от Яндекса
- Возможно, реализовать фичу с порядком координат (#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
При установке этой версии настоятельно рекомендуется обновиться до последней версии 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
Изменения
- Минимальная версия
@yandex/ymaps3-types
установлена на0.0.20
- Добавлена возможность изменять время, которое библиотека ожидает для загрузки Яндекс.Карт и для отрисовки компонентов. Также добавлена возможность полностью отключить это поведение (ждать вечно). См. #147
- Незначительно улучшена производительность запуска Карт
Документация
- Исправлена работа tilt-а камеры в примере "Изменение позиции камеры"
- Улучшена человекочитабельность документации хинта
- В документацию кластеризатора добавлен параметр maxZoom
2.0.0-rc.9
Улучшения
- Из зависимостей удалён
@nuxt/kit
- он по идее и так есть у всех, кто использует Nuxt 3, незачем его ставить остальным - Улучшены возможности по установке breaking-версий
@yandex/ymaps3-types
: теперь можно установить любую версию до 1.x (если Яндекс до неё дойдёт)
Добавлена совместимость с @yandex/ymaps3-types@0.0.20
- Из
YandexMapControl
убранsettings
- В
YandexMap
добавлена поддержка тёмной темыtheme
в DefaultSchemeLayer Яндекс призналdeprecated
- используйтеtheme
вYandexMap
- В кластер добавлен параметр
maxZoom