Угол наклона определяет отклонение виртуальной камеры от строго вертикального положения. При нулевом значении сцена воспринимается как классическая 2D-карта: взгляд направлен перпендикулярно поверхности земли. По мере увеличения значения камера начинает «смотреть под углом», формируя перспективное искажение, приближая визуальную модель к реальному восприятию пространства.
В HERE Maps JavaScript API этот параметр является частью модели камеры и влияет на способ отрисовки тайлов, объектов и слоёв сцены.
Ключевые характеристики угла наклона:
0 до
60 градусовВ архитектуре HERE Maps управление наклоном не отделено от общей
камеры. Все параметры сцены объединены в структуру
LookAtData, которая описывает:
Основной объект взаимодействия — H.map.ViewModel,
который управляет состоянием камеры.
const platform = new H.service.Platform({
apikey: 'YOUR_API_KEY'
});
const defaultLayers = platform.createDefaultLayers();
const map = new H.Map(
document.getElementById('map'),
defaultLayers.vector.normal.map,
{
center: { lat: 52.5200, lng: 13.4050 },
zoom: 14,
pixelRatio: window.devicePixelRatio || 1
}
);
Изменение наклона осуществляется через метод
setLookAtData. Он позволяет задавать полный набор
параметров камеры одновременно, что обеспечивает согласованность
трансформаций.
const viewModel = map.getViewModel();
viewModel.setLookAtData({
tilt: 45,
heading: 0,
zoom: 14,
bounds: null,
position: map.getCenter()
});
При этом параметр tilt определяет угол между нормалью к
поверхности земли и направлением взгляда камеры.
Изменение угла наклона влияет на несколько уровней рендеринга:
При увеличении наклона:
HERE Maps поддерживает интерполяцию камеры, позволяя изменять наклон
без резкого скачка состояния. Для этого используется параметр
animation.
viewModel.setLookAtData(
{
tilt: 60,
heading: 20,
zoom: 15
},
true // включает анимацию перехода
);
Плавное изменение параметров камеры основано на внутреннем
tween-движке, который интерполирует значения tilt во
времени.
Угол наклона тесно связан с параметром heading, который
отвечает за вращение сцены вокруг вертикальной оси.
Совместное использование этих параметров формирует полноценную 3D-навигацию:
viewModel.setLookAtData({
tilt: 50,
heading: 90,
zoom: 16
}, true);
Комбинации параметров позволяют:
Система камеры накладывает ограничения на наклон:
060При изменении zoom также может происходить автоматическая нормализация tilt, чтобы сохранить читаемость карты.
Наклон может управляться не только программно, но и через пользовательский ввод. В этом случае используются события жестов:
Отключение интерактивного наклона выполняется через параметры поведения карты:
map.getBehavior().disable(H.mapevents.Behavior.Feature.PITCHING);
Или более общий контроль через конфигурацию поведения:
const beh * avior = new H.mapevents.Behavior(
new H.mapevents.MapEvents(map)
);
При значительных значениях наклона возрастает нагрузка на систему отрисовки. Векторные слои требуют перерасчёта геометрии в перспективе, что влияет на производительность.
Ключевые аспекты оптимизации:
Изменение параметра может выполняться циклически, например, для создания эффекта «облёта»:
let tilt = 0;
function animateTilt() {
tilt += 1;
if (tilt > 60) {
tilt = 0;
}
viewModel.setLookAtData({
tilt: tilt,
zoom: 15,
heading: 0
});
requestAnimationFrame(animateTilt);
}
animateTilt();
Такая модель демонстрирует прямое управление камерой без использования внешних анимационных библиотек.
При увеличении tilt изменяется способ визуализации объектов:
Векторный рендеринг HERE Maps использует экранные координаты, пересчитываемые с учётом матрицы камеры, где tilt входит в состав трансформации проекции.
Состояние камеры может храниться и восстанавливаться:
const state = {
center: map.getCenter(),
zoom: map.getZoom(),
tilt: map.getViewModel().getLookAtData().tilt,
heading: map.getViewModel().getLookAtData().heading
};
При восстановлении состояния важно учитывать порядок применения параметров: сначала центр, затем zoom, затем tilt и heading, чтобы избежать визуальных скачков.
На мобильных устройствах управление наклоном особенно чувствительно к:
В некоторых конфигурациях системы автоматическое управление tilt может быть ограничено для предотвращения перегрузки рендеринга.
Внутренне угол наклона участвует в формировании матрицы преобразования камеры. Она объединяет:
Итоговая визуализация сцены является результатом последовательного применения этих преобразований к координатам объектов карты.