Карта
В данном разделе описывается основной класс API карт, который используется для создания и управления картой на странице.
DG.Map
Пример использования
Инициализация карты в элементе div с id "map", с указанием координат центра и коэффициента
масштабирования:
var map = DG.map('map', {
center: [54.98, 82.89],
zoom: 13,
});
Создание
| Конструктор | Описание |
|---|---|
DG.map( | Инициализирует карту в DOM-узле <div> элемента с указанным id с необязательным набором опций, которые описаны ниже. |
DG.map( | Инициализирует карту в переданном DOM-узле <div> элемента с необязательным набором опций, которые описаны ниже. |
Опции
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
preferCanvas | Boolean | false | Должны ли экземпляры Path отрисовываться на Canvas. По умолчанию все экземпляры Path отрисовываются с помощью SVG рендерера. |
Опции элементов управления
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
zoomControl | Boolean | true | Добавлен ли элемент управления масштабом на карту. |
fullscreenControl | Boolean | true | Добавлена ли кнопка включения полноэкранного режима на карту. |
Опции взаимодействия
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
closePopupOnClick | Boolean | true | Закрывать ли попапы при клике в карту. |
zoomSnap | Number | 1 | Всегда приводит уровень масштабирования к значению кратному данному параметру. Приведение происходит сразу после выполнения fitBounds() или изменения масштаба "щипком" (pinch-zoom). По умолчанию уровень масштабирования приводится к ближайшему целому числу; меньшие значения (например, 0.5 или 0.1) позволяют более точно управлять приведением масшатаба. Значение 0 говорит о том, что уровень масштабирования не будет приводиться после fitBounds или изменения масштаба "щипком". |
zoomDelta | Number | 1 | Управляет тем, насколько изменится уровень масштаба после zoomIn(), zoomOut(), нажатия + или - на клавиатуре или используя элемент управления масштабом. Значения меньшие чем 1 (например, 0.5) предоставляют большую точность. |
trackResize | Boolean | true | Обновляется ли карта при изменении размера окна браузера. |
boxZoom | Boolean | true | Может ли масштаб карты быть изменен с помощью box-масштабирования (shift + выделение мышью). |
doubleClickZoom | Boolean|String | true | Разрешено ли увеличивать масштаб карты двойным кликом мыши (удерживание Shift позволяет уменьшать масштаб). Если передано значение center, карта всегда масштабируется отностиельно центра просматриваемой области, независимо от положения курсора. |
dragging | Boolean | true | Разрешено ли перетаскивать карту мышью или тачем. |
geoclicker | Boolean | Object | false | Включено ли геокодирование по клику (геокликер). Если false, тогда при клике в любой объект карты (улицы, дома, остановки) не будет отображаться информация об этом объекте. Если в качестве параметра передан объект с опциями, тогда геокликер будет включен. Опции showPhotos и showBooklet позволяют отключить в балуне организации ссылки на буклеты и фотографии. |
projectDetector | Boolean | true | Включает или отключает механизм определения проектов 2ГИС. Проект — это агломерация, включающая крупный город и ближайшие населённые пункты. |
tilesCheck | Boolean | true | Возвращается ли карта к предыдущему состоянию, если на целевом уровне масштабирования нет тайлов. |
museum | Boolean | true | Будет ли отображаться сообщение о том, что браузер не поддерживается. |
Опции состояния карты
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
center | LatLng | undefined | Начальный географический центр карты. |
zoom | Number | undefined | Начальный уровень масштаба. |
minZoom | Number | undefined | Минимальный уровень масштабируемости карты. Переопределяет свойство minZoom используемых слоев. |
maxZoom | Number | undefined | Максимальный уровень масштабируемости карты. Переопределяет свойство maxZoom используемых слоев. |
layers | Layer[] | [] | Массив слоев, которые изначально будут добавлены на карту. |
maxBounds | LatLngBounds | null | Если свойство установлено, карта ограничивает область просмотра согласно заданным географическим границам, "отбрасывая" пользователя назад, если он пытается выйти за пределы установленных границ, а также не позволяет уменьшить масштаб так, чтобы можно было просмотреть неразрешенные участки карты. Для установки ограничения динамически, используйте метод setMaxBounds. |
renderer | Renderer | * | Метод, который используется для отрисовки векторных слоев на карте. По умолчанию устанавливается DG.SVG или DG.Canvas в зависимости от поддержки браузером. |
poi | Boolean | true | Отображать ли точки интереса на карте. |
currentLang | string | '' | Язык пользовательского интерфейса карты (см. Локализация) |
Опции анимации
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
fadeAnimation | Boolean | true | Включена ли анимация затухания тайлов. По умолчанию включена во всех браузерах поддерживающих CSS3 transitions, кроме Android. |
markerZoomAnimation | Boolean | true | Включена ли анимация масштабирования маркеров при анимации масштабирования карты, если выключена, тогда маркеры пропадают во время анимации карты. По умолчанию включена во всех браузерах поддерживающих CSS3 transitions, кроме Android. |
transform3DLimit | Number | 2^23 | Определяет максимальное значение CSS translation transform. Значение по умолчанию изменять не стоит, до тех пор пока браузер не начинает позиционировать слои в неправильном месте после большего смещения в результате panBy. |
zoomAnimation | Boolean | true | Включена ли анимация масштабирования тайлов. По умолчанию включена во всех браузерах поддерживающих CSS3 transitions, кроме Android. |
zoomAnimationThreshold | Number | 4 | Порог, начиная с которого будет отключаться анимация масштабирования. |
Опции инерции при перемещении
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
inertia | Boolean | * | Если опция включена, тогда создается эффект инерции при движении карты — при перетаскивании карта продолжает движение в том же направлении какое-то время. Полезно для тач-устройств. По умолчанию, эта опция включена везде, за исключением старых Android-устройств. |
inertiaDeceleration | Number | 3000 | Величина, на которую замедляется движение карты, указывается в пикселях/секунду2. |
inertiaMaxSpeed | Number | Infinity | Максимальная скорость инерционного движения, указывается в пикселях/секунду. |
easeLinearity | Number | 0.2 | |
worldCopyJump | Boolean | false | Опция позволяет зациклить просмотр карты с сохранением слоев и маркеров на ней. |
maxBoundsViscosity | Number | 0.0 | Если установлено свойство maxBounds, эта опция позволяет контролировать "прочность" границ при перемещении карты мышью или тачем. Значение по умолчанию 0.0 — позволяет пользователю перемещать карту за ее границы с нормальной скоростью, чем выше значение, тем меньше будет скорость при пермещении за пределы границы карты. При значении 0.1, границы становятся полностью "непроницаемы", предотвращая любое перемещение карты вне их пределов. |
Опции навигации клавишами
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
keyboard | Boolean | true | Устанавливает фокус на карту и позволяет перемещаться по карте с помощью кнопок +/- и стрелок клавиатуры. |
keyboardPanDelta | Number | 80 | Указывает, на сколько пикселей сдвинется карта, при нажатии стрелки на клавиатуре. |
Опции колеса мыши
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
scrollWheelZoom | Boolean | String | true | Можно ли изменять масштаб карты с помощью колеса мыши. Если в качестве параметра передано значение 'center', изменение масштаба будет происходить относительно центра просматриваемой области, вне зависимости от позиции указателя мыши. |
wheelDebounceTime | Number | 40 | Ограничевает частоту, с которой прокрутка колеса мыши будет отправлять событие на изменение масштаба (в милисекундах). По умолчанию, пользователь не может изменять масштаб карты более чем один раз в 40 мс. |
wheelPxPerZoomLevel | Number | 50 | Какое количество пикселей прокрутки (можно определить через DG.DomEvent.getWheelDelta) означает изменение на один уровень масштабирования. Меньшие значения будут изменять масштаб карты, с помощью колеса, быстрей (и наоборот). |
Опции взаимодействия на тач-устройствах
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
tap | Boolean | true | Активирует поддержку мгновенных тапов (отключение задержки в 200мс в iOS/Android) и долгих тапов (в этом случае посылается событие contextmenu). |
tapTolerance | Number | 15 | Максимальное число пикселей, на которое пользователь может сдвинуть свой палец во время тача, для того, чтобы это событие было воспринято как тап. |
touchZoom | Boolean | * | Разрешено ли изменять масштаб карты двумя пальцами на тач-устройствах. Если передано значение 'center', карта всегда будет масштабироваться относительно центра просматриваемой области, независимо от того, где на карте произошли события тача. Активируется в веб-браузерах с тач поддержкой, за исключением устройств со старой версией Android. |
bounceAtZoomLimits | Boolean | false | Если true, карта будет возвращаться к допустимому масштабу, когда пользователь будет пытаться выйти за предельный максимальный/минимальный масштаб карты с помощью масштабирования пальцами. |
События
События слоев
| Событие | Данные | Описание |
|---|---|---|
layeradd | LayerEvent | Вызывается при добавлении нового слоя на карту. |
layerremove | LayerEvent | Вызывается при удалении слоя с карты. |
События изменения состояния карты
| Событие | Данные | Описание |
|---|---|---|
zoomlevelschange | Event | Вызывается, если при добавлении или удалении слоя карты изменилось количество доступных уровней масштабирования. |
resize | Event | Вызывается при изменении размера карты. |
unload | Event | Вызывается при удалении карты c помощью метода remove. |
viewreset | Event | Вызывается, когда нужно перерисовать содержимое карты (обычно при изменении масштаба или загрузке). Полезно при создании дополнительных слоев. |
load | Event | Вызывается при инициализации карты (при первой установке ее центра и масштаба). |
zoomstart | Event | Вызывается в начале изменения масштаба (перед анимацией изменения масштаба). |
movestart | Event | Вызывается в начале изменения области просмотра карты (например, когда пользователь начинает перетаскивать карту). |
zoom | Event | Вызывается периодически, в течении любого изменения уровня масштаба, включая анимации перелета. |
move | Event | Вызывается периодически, во время любого передвижения карты, включая анимации перелета. |
zoomend | Event | Вызывается после изменения масштаба и анимаций. |
moveend | Event | Вызывается при окончании передвижения карты (например, когда пользователь прекращает перетаскивать карту). |
projectchange | ProjectEvent | Вызывается при перемещении пользователя из одного проекта 2ГИС в другой. |
projectleave | ProjectEvent | Вызывается при выходе пользователя из текущего проекта 2ГИС. |
entranceshow | Event | Вызывается при отображении входа в здание. |
entrancehide | Event | Вызывается при скрытии входа в здание. |
poihover | MetaEvent | Вызывается при наведении курсора мыши на точку интереса. |
poileave | MetaEvent | Вызывается, когда курсор мыши покидает область точки интереса. |
langchange | LangEvent | Вызывается при изменении языка карты. |
События попапа
| Событие | Данные | Описание |
|---|---|---|
popupopen | PopupEvent | Вызывается при открытии попапа. |
popupclose | PopupEvent | Вызывается при закрытии попапа. |
autopanstart | | Вызывается, когда карта начинает двигаться после появления попапа. |
События взаимодействий
| События | Данные | Описание |
|---|---|---|
click | MouseEvent | Вызывается при клике (или тапе) по карте. |
dblclick | MouseEvent | Вызывается при двойном клике (или двойном тапе) по карте. |
mousedown | MouseEvent | Вызывается при нажатии кнопки мыши над областью карты. |
mouseup | MouseEvent | Вызывается, когда пользователь отпускает кнопку мыши над областью карты. |
mouseover | MouseEvent | Вызывается при наведении курсора мыши на карту. |
mouseout | MouseEvent | Вызывается, когда курсор мыши покидает область карты. |
mousemove | MouseEvent | Вызывается, когда курсор мыши перемещается над картой. |
contextmenu | MouseEvent | Вызывается при нажатии правой кнопки мыши на карте, предотвращает появление стандартного контекстного меню браузера, если на это событие подписаны обработчики. Также вызывается на мобильных устройствах, когда пользователь удерживает тач в течение секунды (долгое нажатие). |
keypress | Event | Вызывается при нажатии клавиш на клавиатуре, когда карта находится в фокусе. |
preclick | MouseEvent | Вызывается перед кликом мыши на карте (полезно, если нужно выполнить какое-либо действие до вызова обработчика клика). |
События анимаций
| Событие | Данные | Описание |
|---|---|---|
zoomanim | ZoomAnimEvent | Вызывается каждый кадр, в процессе изменения масштаба. |
События местоположения
| Событие | Данные | Описание |
|---|---|---|
locationerror | ErrorEvent | Вызывается при возникновении ошибок, во время обнаружения местоположения пользователя (при использовании метода locate). |
locationfound | LocationEvent | Вызывается при успешном обнаружении местоположения пользователя (при использовании метода locate). |
Методы
| Метод | Возвращает | Описание |
|---|---|---|
getRenderer( | Renderer | Возвращает экземпляр Renderer, который должен быть использован для отрисовки необходимого векторного слоя. Метод гарантирует, что опции движка отображения карты и векторных слоев будут учитываться, и что необходимые движки отображения действительно существуют на карте. |
Методы слоев и элементов управления
| Метод | Возвращает | Описание |
|---|---|---|
addLayer( | this | Добавляет слой на карту. |
removeLayer( | this | Удаляет указанные слои с карты. |
hasLayer( | Boolean | Возвращает true, если слой, на данный момент, добавлен на карту. |
eachLayer( | this | Выполняет заданную функцию для каждого слоя карты. Дополнительно можно указать контекст выполнения функции. |
openPopup( | this | Показывает указанный попап, предварительно закрыв все открытые. |
openPopup( | this | Создает попап с переданными опциями и содержимым и открывает его в определенной точке на карте. |
closePopup( | this | Закрывает попап, открытый с помощью openPopup. |
addControl( | this | Добавляет элемент управления на карту. |
removeControl( | this | Удаляет элемент управления с карты. |
Методы модификации состояния карты
| Метод | Возвращает | Описание |
|---|---|---|
setView( | this | Устанавливает область просмотра карты (географический центр и масштаб). Дополнительно можно указать опции анимации. |
setZoom( | this | Устанавливает уровень масштаба. |
zoomIn( | this | Увеличивает масштаб карты на величину delta (по умолчанию zoomDelta). |
zoomOut( | this | Уменьшает масштаб карты на величину delta (по умолчанию zoomDelta). |
setZoomAround( | this | Масштабирует карту, сохраняя при этом указанную точку в неподвижном состоянии (например, используется для масштабировании при помощи колесика мыши и двойного клика). |
setZoomAround( | this | Масштабирует карту, сохраняя при этом указанную точку в пикселях в неподвижном состоянии (относительно левого верхнего угла). |
fitBounds( | this | Устанавливает область просмотра карты так, чтобы она содержала заданные границы, на максимально возможном уровне масштаба. |
fitWorld( | this | Устанавливает область просмотра карты так, чтобы та отображала весь мир, на максимально возможном уровне масштаба. |
panTo( | this | Передвигает карту к указанному центру. |
panBy( | this | Перемещает карту на заданное количество пикселей (анимировано). |
setMaxBounds( | this | Ограничивает область просмотра карты заданными границами (см. опцию maxBounds). |
setMinZoom( | this | Устанавливает нижний предел уровней масштабирования (см. опцию minZoom). |
setMaxZoom( | this | Устанавливает верхний предел уровней масштабирования (см. опцию maxZoom). |
panInsideBounds( | this | Перемещает карту в ближайшую область просмотра, лежащую в пределах заданных границ. Можно контролировать анимацию, передав объект опций вторым параметром. |
invalidateSize( | this | Обновляет карту при изменении размера ее контейнера. Этот метод необходимо вызывать, если размер контейнера изменяется динамически (по умолчанию, также будет происходить анимация переимещения). Если параметр options.pan установлен в false, то карта не будет перемещаться. Если параметр options.debounceMoveend установлен в true, то событие moveend не будет вызываться часто, даже если метод будет вызываться много раз подряд. |
invalidateSize( | this | Обновляет карту при изменении размера ее контейнера. Этот метод необходимо вызывать, если размер контейнера изменяется динамически (по умолчанию, также будет происходить анимация переимещения). |
stop() | this | Останавливает текущие запущенные анимации panTo или flyTo. |
flyTo( | this | Устанавливает область просмотра карты (гегорафический центр и масштаб), выполняя плавную анимацию изменения масштаба и перемещения. |
flyToBounds( | this | Устанавливает область просмотра карты с плавной анимацией изменения масштаба и перемещения, как flyTo, но примнимает в качестве параметра границы, как fitBounds. |
setLang( | String | Устанавливает язык карты. В качестве параметра принимает код языка (например, 'en'). |
Другие методы
| Метод | Возвращает | Описание |
|---|---|---|
addHandler( | this | Добавляет новый Handler на карту, c переданным именем и функцией-конструктором. |
remove() | this | Удаляет карту и все обработчики, связанные с ней. |
createPane( | HTMLElement | Создает новую панель карты с данным именем, если она еще не существует, и затем возвращает ее. Панель создается как ребенок container, или как дочерний элемент главной панели карты, если container не установлен. |
getPane( | HTMLElement | Возвращает панель карты по ее имени или по ее HTML-элементу |
getPanes() | Object | Возвращает объект, содержащий имена всех панелей как ключи и сами панели, как значения |
getContainer() | HTMLElement | Возвращает контейнер карты (HTML-элемент). |
whenReady( | this | Выполняет функцию fn после инициализации карты (когда установлен центр и масштаб) и, по крайней мере, одним слоем, или сразу, если она была инициализирована ранее. Опционально можно передать контекст выполнения. |
Методы получения состояния карты
| Метод | Возвращает | Описание |
|---|---|---|
getCenter() | LatLng | Возвращает географический центр области просмотра карты. |
getZoom() | Number | Возвращает текущий уровень масштабирования. |
getBounds() | LatLngBounds | Возвращает географические прямоугольные границы текущей области просмотра карты. |
getMinZoom() | Number | Возвращает минимальный уровень масштабирования карты (если установлена опция minZoom у карты или любого слоя) или 0, по умолчанию. |
getMaxZoom() | Number | Возвращает максимальный уровень масштабирования карты (если установлена опция maxZoom у карты или любого слоя). |
getBoundsZoom( | Number | Возвращает максимальный уровень масштабирования, при котором заданные границы полностью входят в область просмотра. Если опция inside установлена в true, тогда метод возвращает минимальный уровень зума, с теми же условиями. |
getSize() | Point | Возвращает текущий размер контейнера карты (в пикселях). |
getPixelBounds() | Bounds | Возвращает прямоугольные границы области просмотра карты, спроецированные на пиксельные координаты (иногда полезно в реализациях слоев и оверлеев). |
getPixelOrigin() | Point | Возвращает спроецированные пиксельные координаты левой верхней точки слоя карты. Полезно при реализации дополнительных слоев и оверлеев. |
getPixelWorldBounds( | Bounds | Возвращает пиксельные координаты границ мира для заданного уровня масштабирования zoom. Если zoom пропущен, используется текущий уровень масштаба карты. |
getLang() | String | Возвращает текущий язык карты. |
Методы преобразования
| Метод | Возвращает | Описание |
|---|---|---|
getZoomScale( | Number | Возвращает коэффициент масштабирования, который будет применен к переходу с уровня fromZoom до toZoom. Используется внутри библиотеки в анимациях изменения масштаба. |
getScaleZoom( | Number | Возвращает уровень масштаба, на котором окажется карта, если ее текущий уровень масштабирования fromZoom и коэффициент масштабирования scale. Метод обратный getZoomScale. |
project( | Point | Проецирует географические координаты LatLng в соответствии с типом проекции карты (CRS), затем масштабирует их в соответствии с параметром zoom и CRS Transformation Результат - пиксельные координаты относительно основания CRS. |
unproject( | LatLng | Метод обратный project. |
layerPointToLatLng( | LatLng | По переданным пиксельным координатам относительно origin pixel возвращает соответствующие географические координаты (для текущего уровня масштабирования). |
latLngToLayerPoint( | Point | По переданным географическим координатам возвращает соответствующие пиксельные координаты относительно origin pixel. |
wrapLatLng( | LatLng | Возвращает LatLng, где lat и lng "зацикливаются" в соответствии с CRS-свойствами wrapLat и wrapLng, если они выходят за CRS-границы. По умолчанию это значит, что долгота переносится относительно линии перемены даты. Таким образом, ее значение всегда будет находиться между -180 и +180 градусами. |
distance( | Number | Возвращает расстояние между двумя географическими координатами в соответствии с CRS карты. По умолчанию расстояние измеряется в метрах. |
containerPointToLayerPoint( | Point | По переданным пиксельным координатам, относительно контейнера карты, возвращает соответствующие пиксельные координаты, относительно origin pixel. |
layerPointToContainerPoint( | Point | По переданным пиксельным координатам, относительно origin pixel, возвращает соответствующие пиксельные координаты, относительно контейнера карты. |
containerPointToLatLng( | Point | По переданным пиксельным координатам, относительно контейнера карты, возвращает географические координаты (для текущего уровня масштабирования). |
latLngToContainerPoint( | Point | По переданным географическим координатам, возвращает пиксельные координаты, относительно контейнера карты. |
mouseEventToContainerPoint( | Point | По переданному объекту MouseEvent, возвращает пиксельную координату места, где произошло событие, относительно левого верхнего угла контейнера карты. |
mouseEventToLayerPoint( | Point | По переданному объекту MouseEvent, возвращает пиксельную координату, где произошло событие, относительно origin pixel. |
mouseEventToLatLng( | LatLng | По переданному объекту MouseEvent, возвращает географическую координату, где произошло событие. |
Методы геолокации
| Метод | Возвращает | Описание |
|---|---|---|
locate( | this | Пытается определить местоположение пользователя используя Geolocation API. При успешном определении вызывается событие locationfound с данными о местоположении, в случае ошибки будет вызвано событие locationerror. Опционально устанавливает область просмотра карты согласно местоположению пользователя (или отображает карту мира, если возникла ошибка геолокации). Для дополнительной информации см. опции определения местоположения. |
stopLocate() | this | Останавливает отслеживание местоположения, предварительно инициированное методом map.locate({watch: true}), и предотвращает сброс карты, если map.locate был вызван с ({setView: true}). |
Методы, унаследованные от Evented
Методы, унаследованные от Evented, смотрите здесь.
Свойства
Свойства карты включают в себя обработчики взаимодействия, которые позволяют контролировать интерактивное поведение, подключение и отключение определенных возможностей карты, таких как перетаскивание и масштабирование тачем (см. методы Handler). Например:
map.doubleClickZoom.disable();
Вы также можете получить доступ к элементам управления картой, которые включены по умолчанию, например, к элементу управления масштабом:
map.zoomControl.setPosition('topright');
Обработчики
| Свойство | Тип | Описание |
|---|---|---|
boxZoom | Handler | Обработчик box-масштабирования (shift + выделение мышью). |
doubleClickZoom | Handler | Обработчик масштабирования по двойному клику. |
dragging | Handler | Обработчик перетаскивания карты (мышью и тачем). |
keyboard | Handler | Обработчик навигации с помощью клавиатуры. |
scrollWheelZoom | Handler | Обработчик масштабирования по скроллу. |
tap | Handler | Обработчики мобильных тач хаков (быстрый тап и удерживание тача). |
touchZoom | Handler | Обработчик масштабирования с помощью тача. |
geoclicker | Handler | Обработчик геокодирования по клику. |
projectDetector | Handler | Обработчик определения проекта 2ГИС. |
zoomControl | Control.Zoom | Элемент управления масштабом. |
fullscreenControl | Control.FullScreen | Кнопка включения полноэкранного режима. |
rulerControl | Control.Ruler | Кнопка включения линейки. |
trafficControl | Control.Traffic | Кнопка включения слоя с пробками. |
baseLayer | TileLayer | Слой с тайлами 2ГИС, автоматически добавляемый на карту при её создании. |
Панели карты
Панели - это DOM-элементы, которые используются для контроля очередности отображения слоев на карте.
Получить панели можно с помощью методов map.getPane
или map.getPanes. Новые панели можно создать
с помощью метода map.createPane. У каждой карты
по умолчанию есть следующий набор панелей, которые отличаются только zIndex.
| Панель | Тип | Z-index | Описание |
|---|---|---|---|
mapPane | HTMLElement | 'auto' | Панель, содержащая в себе все другие панели |
tilePane | HTMLElement | 2 | Панель для тайловых слоев |
overlayPane | HTMLElement | 4 | Панель для векторных слоев, таких как ломаные и многоугольники. |
shadowPane | HTMLElement | 5 | Панель для наложения теней (например, тени от маркеров). |
markerPane | HTMLElement | 6 | Панель маркеров. |
popupPane | HTMLElement | 7 | Панель попапов. |
Опции определения местоположения
Некоторые методы геолокации объекта Map принимают параметр options. Это обычный JavaScript-объект со следующими опциональными компонентами:
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
watch | Boolean | false | Если true, то местоположение будет отслеживаться постоянно (вместо определения местоположения один раз) используя W3C метод watchPosition. Можно остановить отслеживание, вызвав метод map.stopLocate(). |
setView | Boolean | false | Если true, то автоматически устанавливает область просмотра карты в точку местоположения пользователя, в соответствии с точностью определения. В случае ошибки поиска, отображаетcя карта мира. |
maxZoom | Number | Infinity | Задает максимальный уровень масштабирования при автоматическом перемещения карты, когда включена опция setView. |
timeout | Number | 10000 | Количество миллисекунд ожидания ответа геолокации, перед тем как произойдет вызов события locationerror. |
maximumAge | Number | 0 | Максимальное время жизни данных о местоположении. Если с момента последнего поиска прошло меньше времени, чем указанно в данной опции, locate вернет данные из кэша. |
enableHighAccuracy | Boolean | false | Включает функцию повышения точности, см. описание в W3C спецификации. |
Опции масштабирования
Некоторые методы объекта Map, которые изменяют масштаб,
принимают параметр options. Это обычный JavaScript-объект со следующими
необязательными компонентами:
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
animate | Boolean | | Если не указано, то масштабирование будет анимироваться, если точка, относительно которой происходит масштабирование, находится в пределах просматриваемой области карты. Если true, всегда будет производиться попытка анимировать масштабирование, вне зависимости от положения источника масштабирования. Если false, то масштабирование будет происходить без анимации. |
Опции перемещения
Некоторые методы объекта Map, которые меняют центр карты,
принимают параметр options. Это обычный JavaScript-объект со следующими
необязательными компонентами:
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
animate | Boolean | | Если true, то перемещения будут анимироваться всегда. Если false, перемещения не будут анимироваться при сбросе карты в исходное положение, если она была передвинута более чем на один экран; перемещения также не будут анимироваться при установке нового смещения панели карты (за исключением использования метода panBy). |
duration | Number | 0.25 | Продолжительность анимации перемещения. |
easeLinearity | Number | 0.25 | Коэффициент кривизны затухания анимации (третий параметр Кривой Безье). Значение 1.0 означает линейную анимацию; чем меньше значение, тем больше кривизна. |
noMoveStart | Boolean | false | Если true, тогда при перемещении не будет инициироваться событие movestart (используется внутри библиотеки при реализации инерции перемещения). |
Дополнительные опции масштабирования/перемещения
Дополнительные опции наследуются от Zoom options и Pan options
Опции соответствия границам
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
paddingTopLeft | Point | [0, 0] | Задает отступ от верхнего левого угла контейнера карты, который не должен учитываться при подстройке центра и масштаба. Удобно использовать, например, если на карте приложения имеется левая панель и вы не хотите, чтобы при масштабировании под ней скрывались объекты. |
paddingBottomRight | Point | [0, 0] | То же самое, но для нижнего правого угла карты. |
padding | Point | [0, 0] | Эквивалентно установке и верхнего левого, и нижнего правого отступов в одинаковые значения. |
maxZoom | Number | null | Максимальный возможный уровень зума. |