Обновите версию @vuemap/amap-xyz-layer, чтобы улучшить производительность пользовательского слоя исправленных плит.
Обновите версию @vuemap/vue-amap-util. Теперь компонент отменяет прокси и ref при передаче данных на карту, что предотвращает запуск циклического watch при последующем использовании объекта картой. Это повышает производительность загрузки.
Устранение проблем с заиканием слоя aggregation точки на графике
Обновите зависимости для пользовательских слоёв плиток, добавьте функцию высоты над уровнем моря, чтобы сочетание с локальными картографическими слоями обеспечивало эффект выпуклых плиток. Подробная информация доступна в примерах документации.
@vuemap/district-cluster
Если требуется более полное описание:
@vuemap/district-cluster
Или если это часть списка действий:
@vuemap/district-cluster
Добавлено свойство moveOptions
в компонент Marker. После установки этого свойства при изменении позиции автоматически вызывается метод moveTo
компонента Marker для добавления анимации.
Решение проблемы отсутствия подсказок в VSCode
❌ Деструктивные изменения
В версии 2.0 отменён тэг use next
, вместо него используется тэг last
. Это значит, что при установке @vuemap/vue-amap
с версии 2.0 будет установлен Vue3 версия.
Существующие версии Vue2 будут помечены как legacy и будут содержать только исправления ошибок.
По умолчанию initAMapApiLoader
больше не загружает loca
, а загружает только JSAPI
.
Компонентная библиотека будет разделена на пакеты, каждый в своём модуле: @vuemap/vue-amap
, @vuemap/vue-amap-loca
, @vuemap/vue-amap-extra
. Основной пакет будет предоставлять компоненты, связанные с JSAPI
, компоненты loca
перемещены в отдельный модуль loca
, а extra
предоставляет компоненты расширений, такие как threejs
.
Добавить слой агрегированной карты районов
Добавление视频图层
重构ThreeLayer图层
重构Gltf图层
在Gltf图层中添加移动动画和高度属性
添加激光图层Loca.LocaLaserLayer
Добавление видео слоя
Рефакторинг ThreeLayer слоя
Рефакторинг Gltf слоя
Добавление анимации перемещения и свойства высоты в Gltf слой
Добавление лазерного слоя Loca.LocaLaserLayer
Решение проблемы постоянной перезагрузки marker и infoWindow при обновлении данных родительского компонента можно реализовать следующими шагами:
Используйте слоты с осторожностью: Убедитесь, что вы правильно используете слоты для передачи данных между компонентами.
Отслеживание изменений данных: Реализуйте механизм отслеживания изменений данных в родительском компоненте, чтобы избежать ненужных перезагрузок.
Оптимизация рендера: Оптимизируйте процесс рендера компонентов, чтобы они перерисовывались только тогда, когда это действительно необходимо.
Пример кода может выглядеть следующим образом:
// Родительский компонент
export default {
data() {
return {
markersData: [] // Данные маркеров
};
},
methods: {
updateMarkers(newData) {
this.markersData = newData;
}
},
components: {
MarkerComponent,
InfoWindowComponent
}
};
// Компонент MarkerComponent
export default {
props: ['markers'],
watch: {
markers: {
handler(newVal) {
console.log('Маркеры обновлены:', newVal);
},
deep: true
}
}
};
// Компонент InfoWindowComponent
export default {
props: ['infoWindows'],
watch: {
infoWindows: {
handler(newVal) {
console.log('InfoWindows обновлены:', newVal);
},
deep: true
}
}
};
Этот подход позволяет вам контролировать обновление данных и минимизировать ненужные перезагрузки компонентов.