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