Карта
В данном разделе описывается основной класс 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 |
Максимальный возможный уровень зума. |