В HERE Maps JavaScript API конфигурация карты определяется набором
атрибутов, которые задаются при создании экземпляра H.Map и
управляют поведением, визуализацией и ограничениями отображения. Эти
параметры формируют базовую модель карты и влияют на то, как движок
рендеринга интерпретирует геоданные и взаимодействие пользователя с
картой.
Карта строится на основе объекта H.Map, которому
передаётся контейнер, объект карты-поведения
(H.mapevents.MapEvents), а также набор параметров,
определяющих начальное состояние и свойства отображения.
centerАтрибут center задаёт географический центр карты при
инициализации. Значение передаётся в формате широты и долготы:
center: { lat: 49.9935, lng: 36.2304 }
Особенности:
boundsmap.setCenter()zoomПараметр zoom управляет уровнем приближения карты. В
HERE Maps используется дискретно-непрерывная шкала масштабирования.
zoom: 10
Характеристики:
pixelRatioАтрибут pixelRatio определяет плотность пикселей,
используемую для рендеринга.
pixelRatio: window.devicePixelRatio
Значение влияет на:
engineTypeHERE Maps поддерживает несколько движков рендеринга, выбор которых
задаётся через engineType.
engineType: H.Map.EngineType.HARP
Основные варианты:
HARP — современный WebGL-движок с поддержкой 3DDEFAULT — классический рендеринг (в зависимости от
версии API)Выбор движка влияет на:
tilttilt задаёт угол наклона камеры относительно поверхности
земли.
tilt: 45
Особенности:
Используется только в WebGL-рендерерах (например, HARP).
bearingАтрибут bearing отвечает за поворот карты вокруг
вертикальной оси.
bearing: 90
Характеристики:
Изменение bearing влияет только на ориентацию, не
изменяя центр или масштаб.
boundsbounds задаёт географические границы, которые должны
быть видимы при инициализации карты.
bounds: new H.geo.Rect(50.1, 36.1, 49.8, 36.5)
Используется для:
paddingПараметр padding определяет внутренние отступы карты от
контейнера.
padding: { top: 50, right: 50, bottom: 50, left: 50 }
Назначение:
styleВ HERE Maps стиль карты задаётся через базовый слой или тему.
style: 'default'
или через конфигурацию слоя:
baseLayer: platform.createDefaultLayers().vector.normal.map
Влияние:
backgroundColorАтрибут backgroundColor задаёт цвет фона карты до
загрузки тайлов.
backgroundColor: '#ffffff'
Применяется:
baseLayerbaseLayer определяет основной слой карты.
baseLayer: platform.createDefaultLayers().raster.normal.map
Типы слоёв:
interactiveУправляет включением пользовательского взаимодействия.
interactive: true
При значении false отключаются:
pixelRatio и
обработка событийХотя pixelRatio относится к рендерингу, он косвенно
влияет на обработку событий:
minZoom и
maxZoomОграничивают диапазон масштабирования:
minZoom: 3,
maxZoom: 18
Используются для:
restrictionПараметр ограничения перемещения карты.
restriction: {
bounds: new H.geo.Rect(55, 30, 45, 40)
}
Функциональность:
renderModeОпределяет режим рендеринга карты.
renderMode: H.Map.RenderMode.VECTOR
Режимы:
Векторный режим обеспечивает:
usePixelRatioДополнительный контроль использования плотности пикселей.
usePixelRatio: true
Влияет на:
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: 49.9935, lng: 36.2304 },
zoom: 11,
pixelRatio: window.devicePixelRatio,
engineType: H.Map.EngineType.HARP,
tilt: 30,
bearing: 0,
padding: { top: 60, right: 20, bottom: 20, left: 20 },
backgroundColor: '#eaeaea',
minZoom: 4,
maxZoom: 19,
restriction: {
bounds: new H.geo.Rect(55, 30, 45, 40)
}
}
);
После создания карты большинство атрибутов можно изменять через API
методов объекта H.Map:
setCenter()setZoom()setBearing()setTilt()setViewBounds()Изменение параметров сопровождается анимацией переходов при включённой поддержке движения камеры, что особенно заметно при использовании WebGL-движка и векторных слоёв.
Атрибуты карты образуют взаимозависимую систему:
center, zoom, bearing и
tilt формируют камеруbounds, minZoom, maxZoom
ограничивают её поведениеbaseLayer и engineType определяют способ
визуализацииpadding влияет на интерпретацию геометрии в пределах
экранаИзменение одного параметра может приводить к перерасчёту других, особенно при использовании автоматического fitting bounds или адаптивного масштабирования.