UNPKG

2gis-maps

Version:

Interactive 2GIS maps API, based on Leaflet

1,102 lines (1,084 loc) 108 kB
<h2 id="карта">Карта</h2><p>В данном разделе описывается основной класс API карт, который используется для создания и управления картой на странице.</p> <p><dl class="api-incut"><ul class="page-contents"><li><a href="#dgmap">DG.Map</a><ul><li><a href="#пример-использования">Пример использования</a></li><li><a href="#создание">Создание</a></li><li><a href="#опции">Опции</a><ul><li><a href="#опции-элементов управления">Опции элементов управления</a></li><li><a href="#опции-взаимодействия">Опции взаимодействия</a></li><li><a href="#опции-состояния карты">Опции состояния карты</a></li><li><a href="#опции-анимации">Опции анимации</a></li><li><a href="#опции-инерции при перемещении">Опции инерции при перемещении</a></li><li><a href="#опции-навигации клавишами">Опции навигации клавишами</a></li><li><a href="#опции-колеса мыши">Опции колеса мыши</a></li><li><a href="#опции-взаимодействия на тач-устройствах">Опции взаимодействия на тач-устройствах</a></li></ul></li><li><a href="#события">События</a><ul><li><a href="#события-слоев">События слоев</a></li><li><a href="#события-изменения состояния карты">События изменения состояния карты</a></li><li><a href="#события-попапа">События попапа</a></li><li><a href="#события-взаимодействий">События взаимодействий</a></li><li><a href="#события-анимаций">События анимаций</a></li><li><a href="#события-местоположения">События местоположения</a></li></ul></li><li><a href="#методы">Методы</a><ul><li><a href="#методы-слоев и элементов управления">Методы слоев и элементов управления</a></li><li><a href="#методы-модификации состояния карты">Методы модификации состояния карты</a></li><li><a href="#другие-методы">Другие методы</a></li><li><a href="#методы-получения состояния карты">Методы получения состояния карты</a></li><li><a href="#методы-преобразования">Методы преобразования</a></li><li><a href="#методы-геолокации">Методы геолокации</a></li><li><a href="#методы,-унаследованные от evented">Методы, унаследованные от Evented</a></li></ul></li><li><a href="#свойства">Свойства</a><ul><li><a href="#обработчики">Обработчики</a></li></ul></li><li><a href="#панели-карты">Панели карты</a></li><li><a href="#опции-определения местоположения">Опции определения местоположения</a></li><li><a href="#опции-масштабирования">Опции масштабирования</a></li><li><a href="#опции-перемещения">Опции перемещения</a></li><li><a href="#дополнительные-опции масштабирования/перемещения">Дополнительные опции масштабирования/перемещения</a></li><li><a href="#опции-соответствия границам">Опции соответствия границам</a></li></ul></dl></p> <h3 id="dgmap">DG.Map</h3><h4 id="пример-использования">Пример использования</h4><p>Инициализация карты в элементе <code>div</code> с id &quot;map&quot;, с указанием координат центра и коэффициента масштабирования:</p> <pre><code>var map = DG.map(&#39;map&#39;, { center: [54.98, 82.89], zoom: 13 }); </code></pre><h4 id="создание">Создание</h4><table> <thead> <tr> <th>Конструктор</th> <th>Описание</th> </tr> </thead> <tbody> <tr id="map-l-map"> <td><code><b>DG.map</b>( <nobr>&lt;String&gt;&gt; <i>id</i>,</nobr> <nobr>&lt;Map options&gt;&gt; <i>options?</i> )</nobr> </code></td> <td>Инициализирует карту в DOM-узле <code>&lt;div&gt;</code> элемента с указанным id с необязательным набором опций, которые описаны ниже.</td> </tr> <tr> <td><code><b>DG.map</b>( <nobr>&lt;HTMLElement&gt; <i>el</i>,</nobr> <nobr>&lt;Map options&gt; <i>options?</i> )</nobr> </code></td> <td>Инициализирует карту в переданном DOM-узле <code>&lt;div&gt;</code> элемента с необязательным набором опций, которые описаны ниже.</td> </tr> </tbody> </table> <h4 id="опции">Опции</h4><table> <thead> <tr> <th>Опция</th> <th>Тип</th> <th>По умолчанию</th> <th>Описание</th> </tr> </thead> <tbody> <tr id="map-prefercanvas"> <td><code><b>preferCanvas</b></code></td> <td><code>Boolean </code></td> <td><code>false</code></td> <td>Должны ли экземпляры <a href="/doc/maps/ru/manual/vector-layers#dgpath"><code>Path</code></a> отрисовываться на <a href="/doc/maps/ru/manual/vector-layers#dgcanvas"> <code>Canvas</code></a>. По умолчанию все экземпляры <code>Path</code> отрисовываются с помощью <a href="/doc/maps/ru/manual/vector-layers#dgsvg"><code>SVG</code></a> рендерера. </td> </tr> </tbody> </table> <h5 id="опции-элементов управления">Опции элементов управления</h5><table> <thead> <tr> <th>Опция</th> <th>Тип</th> <th>По умолчанию</th> <th>Описание</th> </tr> </thead> <tbody> <tr> <td><code><b>zoomControl</b></code></td> <td><code>Boolean</code></td> <td><code>true</code></td> <td>Добавлен ли <a href="/doc/maps/ru/manual/controls#dgcontrol.zoom">элемент управления масштабом</a> на карту. </td> </tr> <tr> <td><code><b>fullscreenControl</b></code></td> <td><code>Boolean</code></td> <td><code>true</code></td> <td>Добавлена ли <a href="/doc/maps/ru/manual/controls#dgcontrol.fullscreen"> кнопка включения полноэкранного режима</a> на карту. </td> </tr> </tbody> </table> <h5 id="опции-взаимодействия">Опции взаимодействия</h5><table> <thead> <tr> <th>Опция</th> <th>Тип</th> <th>По умолчанию</th> <th>Описание</th> </tr> </thead> <tbody> <tr> <td><code><b>closePopupOnClick</b></code></td> <td><code>Boolean</code></td> <td><code>true</code></td> <td>Закрывать ли попапы при клике в карту.</td> </tr> <tr id="map-zoomsnap"> <td><code><b>zoomSnap</b></code></td> <td><code>Number </code></td> <td><code>1</code></td> <td>Всегда приводит уровень масштабирования к значению кратному данному параметру. Приведение происходит сразу после выполнения <a href="#map-fitbounds"><code>fitBounds()</code></a> или изменения масштаба &quot;щипком&quot; (pinch-zoom). По умолчанию уровень масштабирования приводится к ближайшему целому числу; меньшие значения (например, <code>0.5</code> или <code>0.1</code>) позволяют более точно управлять приведением масшатаба. Значение <code>0</code> говорит о том, что уровень масштабирования не будет приводиться после <code>fitBounds</code> или изменения масштаба &quot;щипком&quot;. </td> </tr> <tr id="map-zoomdelta"> <td><code><b>zoomDelta</b></code></td> <td><code>Number </code></td> <td><code>1</code></td> <td>Управляет тем, насколько изменится уровень масштаба после <a href="#map-zoomin"><code>zoomIn()</code></a>, <a href="#map-zoomout"><code>zoomOut()</code></a>, нажатия <code>+</code> или <code>-</code> на клавиатуре или используя <a href="/doc/maps/ru/manual/controls#dgcontrol.zoom">элемент управления масштабом</a>. Значения меньшие чем <code>1</code> (например, <code>0.5</code>) предоставляют большую точность. </td> </tr> <tr id="map-trackresize"> <td><code><b>trackResize</b></code></td> <td><code>Boolean </code></td> <td><code>true</code></td> <td>Обновляется ли карта при изменении размера окна браузера.</td> </tr> <tr id="map-boxzoom"> <td><code><b>boxZoom</b></code></td> <td><code>Boolean </code></td> <td><code>true</code></td> <td>Может ли масштаб карты быть изменен с помощью box-масштабирования (shift + выделение мышью).</td> </tr> <tr id="map-doubleclickzoom"> <td><code><b>doubleClickZoom</b></code></td> <td><code>Boolean|String </code></td> <td><code>true</code></td> <td>Разрешено ли увеличивать масштаб карты двойным кликом мыши (удерживание Shift позволяет уменьшать масштаб). Если передано значение <code>center</code>, карта всегда масштабируется отностиельно центра просматриваемой области, независимо от положения курсора. </td> </tr> <tr id="map-dragging"> <td><code><b>dragging</b></code></td> <td><code>Boolean </code></td> <td><code>true</code></td> <td>Разрешено ли перетаскивать карту мышью или тачем.</td> </tr> <tr id="map-geoclicker"> <td><code><b>geoclicker</b></code></td> <td><code>Boolean | Object</code></td> <td><code>false</code></td> <td>Включено ли геокодирование по клику (геокликер). Если <code>false</code>, тогда при клике в любой объект карты (улицы, дома, остановки) не будет отображаться информация об этом объекте. Если в качестве параметра передан объект с опциями, тогда геокликер будет включен. Опции <code>showPhotos</code> и <code>showBooklet</code> позволяют отключить в балуне организации ссылки на буклеты и фотографии. </td> </tr> <tr id="map-projectdetector"> <td><code><b>projectDetector</b></code></td> <td><code>Boolean</code></td> <td><code>true</code></td> <td>Включает или отключает механизм определения проектов 2ГИС. Проект — это агломерация, включающая крупный город и ближайшие населённые пункты. </td> </tr> <tr id="map-tilescheck"> <td><code><b>tilesCheck</b></code></td> <td><code>Boolean </code></td> <td><code>true</code></td> <td>Возвращается ли карта к предыдущему состоянию, если на целевом уровне масштабирования нет тайлов. </td> </tr> <tr id="map-museum"> <td><code><b>museum</b></code></td> <td><code>Boolean</code></td> <td><code>true</code></td> <td>Будет ли отображаться сообщение о том, что браузер не поддерживается.</td> </tr> </tbody> </table> <h5 id="опции-состояния карты">Опции состояния карты</h5><table> <thead> <tr> <th>Опция</th> <th>Тип</th> <th>По умолчанию</th> <th>Описание</th> </tr> </thead> <tbody> <tr id="map-center"> <td><code><b>center</b></code></td> <td><code>LatLng </code></td> <td><code>undefined</code></td> <td>Начальный географический центр карты.</td> </tr> <tr id="map-zoom"> <td><code><b>zoom</b></code></td> <td><code>Number </code></td> <td><code>undefined</code></td> <td>Начальный уровень масштаба.</td> </tr> <tr id="map-minzoom"> <td><code><b>minZoom</b></code></td> <td><code>Number </code></td> <td><code>undefined</code></td> <td>Минимальный уровень масштабируемости карты. Переопределяет свойство <code>minZoom</code> используемых слоев. </td> </tr> <tr id="map-maxzoom"> <td><code><b>maxZoom</b></code></td> <td><code>Number </code></td> <td><code>undefined</code></td> <td>Максимальный уровень масштабируемости карты. Переопределяет свойство <code>maxZoom</code> используемых слоев. </td> </tr> <tr id="map-layers"> <td><code><b>layers</b></code></td> <td><code>Layer[] </code></td> <td><code>[]</code></td> <td>Массив слоев, которые изначально будут добавлены на карту.</td> </tr> <tr id="map-maxbounds"> <td><code><b>maxBounds</b></code></td> <td><code>LatLngBounds </code></td> <td><code>null</code></td> <td>Если свойство установлено, карта ограничивает область просмотра согласно заданным географическим границам, &quot;отбрасывая&quot; пользователя назад, если он пытается выйти за пределы установленных границ, а также не позволяет уменьшить масштаб так, чтобы можно было просмотреть неразрешенные участки карты. Для установки ограничения динамически, используйте метод <a href="#map-setmaxbounds">setMaxBounds</a>. </td> </tr> <tr id="map-renderer"> <td><code><b>renderer</b></code></td> <td><code>Renderer </code></td> <td><code>*</code></td> <td>Метод, который используется для отрисовки векторных слоев на карте. По умолчанию устанавливается <a href="/doc/maps/ru/manual/vector-layers#dgsvg"><code>DG.SVG</code></a> или <a href="/doc/maps/ru/manual/vector-layers#dgcanvas"><code>DG.Canvas</code></a> в зависимости от поддержки браузером. </td> </tr> <tr id="map-poi"> <td><code><b>poi</b></code></td> <td><code>Boolean </code></td> <td><code>true</code></td> <td>Отображать ли точки интереса на карте.</td> </tr> <tr id="map-currentlang"> <td><code><b>currentLang</b></code></td> <td><code>string</code></td> <td><code>&#39;&#39;</code></td> <td>Язык пользовательского интерфейса карты (см. <a href="/doc/maps/ru/manual/dg-locale/">Локализация</a>)</td> </tr> </tbody> </table> <h5 id="опции-анимации">Опции анимации</h5><table> <thead> <tr> <th>Опция</th> <th>Тип</th> <th>По умолчанию</th> <th>Описание</th> </tr> </thead> <tbody> <tr id="map-fadeanimation"> <td><code><b>fadeAnimation</b></code></td> <td><code>Boolean </code></td> <td><code>true</code></td> <td>Включена ли анимация затухания тайлов. По умолчанию включена во всех браузерах поддерживающих CSS3 transitions, кроме Android. </td> </tr> <tr id="map-markerzoomanimation"> <td><code><b>markerZoomAnimation</b></code></td> <td><code>Boolean </code></td> <td><code>true</code></td> <td>Включена ли анимация масштабирования маркеров при анимации масштабирования карты, если выключена, тогда маркеры пропадают во время анимации карты. По умолчанию включена во всех браузерах поддерживающих CSS3 transitions, кроме Android. </td> </tr> <tr id="map-transform3dlimit"> <td><code><b>transform3DLimit</b></code></td> <td><code>Number </code></td> <td><code>2^23</code></td> <td>Определяет максимальное значение CSS translation transform. Значение по умолчанию изменять не стоит, до тех пор пока браузер не начинает позиционировать слои в неправильном месте после большего смещения в результате <code>panBy</code>. </td> </tr> <tr id="map-zoomanimation"> <td><code><b>zoomAnimation</b></code></td> <td><code>Boolean </code></td> <td><code>true</code></td> <td>Включена ли анимация масштабирования тайлов. По умолчанию включена во всех браузерах поддерживающих CSS3 transitions, кроме Android. </td> </tr> <tr id="map-zoomanimationthreshold"> <td><code><b>zoomAnimationThreshold</b></code></td> <td><code>Number </code></td> <td><code>4</code></td> <td>Порог, начиная с которого будет отключаться анимация масштабирования.</td> </tr> </tbody> </table> <h5 id="опции-инерции при перемещении">Опции инерции при перемещении</h5><table> <thead> <tr> <th>Опция</th> <th>Тип</th> <th>По умолчанию</th> <th>Описание</th> </tr> </thead> <tbody> <tr id="map-inertia"> <td><code><b>inertia</b></code></td> <td><code>Boolean </code></td> <td><code>*</code></td> <td> Если опция включена, тогда создается эффект инерции при движении карты &mdash; при перетаскивании карта продолжает движение в том же направлении какое-то время. Полезно для тач-устройств. По умолчанию, эта опция включена везде, за исключением старых Android-устройств. </td> </tr> <tr id="map-inertiadeceleration"> <td><code><b>inertiaDeceleration</b></code></td> <td><code>Number </code></td> <td><code>3000</code></td> <td>Величина, на которую замедляется движение карты, указывается в пикселях/секунду<sup>2</sup>.</td> </tr> <tr id="map-inertiamaxspeed"> <td><code><b>inertiaMaxSpeed</b></code></td> <td><code>Number </code></td> <td><code>Infinity</code></td> <td>Максимальная скорость инерционного движения, указывается в пикселях/секунду.</td> </tr> <tr id="map-easelinearity"> <td><code><b>easeLinearity</b></code></td> <td><code>Number </code></td> <td><code>0.2</code></td> <td></td> </tr> <tr id="map-worldcopyjump"> <td><code><b>worldCopyJump</b></code></td> <td><code>Boolean </code></td> <td><code>false</code></td> <td>Опция позволяет зациклить просмотр карты с сохранением слоев и маркеров на ней.</td> </tr> <tr id="map-maxboundsviscosity"> <td><code><b>maxBoundsViscosity</b></code></td> <td><code>Number </code></td> <td><code>0.0</code></td> <td>Если установлено свойство <code>maxBounds</code>, эта опция позволяет контролировать &quot;прочность&quot; границ при перемещении карты мышью или тачем. Значение по умолчанию <code>0.0</code> &mdash; позволяет пользователю перемещать карту за ее границы с нормальной скоростью, чем выше значение, тем меньше будет скорость при пермещении за пределы границы карты. При значении <code>0.1</code>, границы становятся полностью &quot;непроницаемы&quot;, предотвращая любое перемещение карты вне их пределов. </td> </tr> </tbody> </table> <h5 id="опции-навигации клавишами">Опции навигации клавишами</h5><table> <thead> <tr> <th>Опция</th> <th>Тип</th> <th>По умолчанию</th> <th>Описание</th> </tr> </thead> <tbody> <tr id="map-keyboard"> <td><code><b>keyboard</b></code></td> <td><code>Boolean </code></td> <td><code>true</code></td> <td>Устанавливает фокус на карту и позволяет перемещаться по карте с помощью кнопок <code>+</code>/<code>-</code> и стрелок клавиатуры. </td> </tr> <tr id="map-keyboardpandelta"> <td><code><b>keyboardPanDelta</b></code></td> <td><code>Number </code></td> <td><code>80</code></td> <td>Указывает, на сколько пикселей сдвинется карта, при нажатии стрелки на клавиатуре.</td> </tr> </tbody> </table> <h5 id="опции-колеса мыши">Опции колеса мыши</h5><table> <thead> <tr> <th>Опция</th> <th>Тип</th> <th>По умолчанию</th> <th>Описание</th> </tr> </thead> <tbody> <tr id="map-scrollwheelzoom"> <td><code><b>scrollWheelZoom</b></code></td> <td><code>Boolean | String </code></td> <td><code>true</code></td> <td>Можно ли изменять масштаб карты с помощью колеса мыши. Если в качестве параметра передано значение <code>&#39;center&#39;</code>, изменение масштаба будет происходить относительно центра просматриваемой области, вне зависимости от позиции указателя мыши. </td> </tr> <tr id="map-wheeldebouncetime"> <td><code><b>wheelDebounceTime</b></code></td> <td><code>Number </code></td> <td><code>40</code></td> <td>Ограничевает частоту, с которой прокрутка колеса мыши будет отправлять событие на изменение масштаба (в милисекундах). По умолчанию, пользователь не может изменять масштаб карты более чем один раз в 40 мс. </td> </tr> <tr id="map-wheelpxperzoomlevel"> <td><code><b>wheelPxPerZoomLevel</b></code></td> <td><code>Number </code></td> <td><code>50</code></td> <td>Какое количество пикселей прокрутки (можно определить через <a href="/doc/maps/ru/manual/dom-utils#domevent-getwheeldelta">DG.DomEvent.getWheelDelta</a>) означает изменение на один уровень масштабирования. Меньшие значения будут изменять масштаб карты, с помощью колеса, быстрей (и наоборот). </td> </tr> </tbody> </table> <h5 id="опции-взаимодействия на тач-устройствах">Опции взаимодействия на тач-устройствах</h5><table> <thead> <tr> <th>Опция</th> <th>Тип</th> <th>По умолчанию</th> <th>Описание</th> </tr> </thead> <tbody> <tr id="map-tap"> <td><code><b>tap</b></code></td> <td><code>Boolean </code></td> <td><code>true</code></td> <td>Активирует поддержку мгновенных тапов (отключение задержки в 200мс в iOS/Android) и долгих тапов (в этом случае посылается событие <code>contextmenu</code>). </td> </tr> <tr id="map-taptolerance"> <td><code><b>tapTolerance</b></code></td> <td><code>Number </code></td> <td><code>15</code></td> <td>Максимальное число пикселей, на которое пользователь может сдвинуть свой палец во время тача, для того, чтобы это событие было воспринято как тап. </td> </tr> <tr id="map-touchzoom"> <td><code><b>touchZoom</b></code></td> <td><code>Boolean </code></td> <td><code>*</code></td> <td>Разрешено ли изменять масштаб карты двумя пальцами на тач-устройствах. Если передано значение <code>&#39;center&#39;</code>, карта всегда будет масштабироваться относительно центра просматриваемой области, независимо от того, где на карте произошли события тача. Активируется в веб-браузерах с тач поддержкой, за исключением устройств со старой версией Android. </td> </tr> <tr id="map-bounceatzoomlimits"> <td><code><b>bounceAtZoomLimits</b></code></td> <td><code>Boolean </code></td> <td><code>false</code></td> <td>Если <code>true</code>, карта будет возвращаться к допустимому масштабу, когда пользователь будет пытаться выйти за предельный максимальный/минимальный масштаб карты с помощью масштабирования пальцами. </td> </tr> </tbody> </table> <h4 id="события">События</h4><h5 id="события-слоев">События слоев</h5><table> <thead> <tr> <th>Событие</th> <th>Данные</th> <th>Описание</th> </tr> </thead> <tbody> <tr id="map-layeradd"> <td><code><b>layeradd</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#layerevent">LayerEvent</a></code></td> <td>Вызывается при добавлении нового слоя на карту.</td> </tr> <tr id="map-layerremove"> <td><code><b>layerremove</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#layerevent">LayerEvent</a></code></td> <td>Вызывается при удалении слоя с карты.</td> </tr> </tbody> </table> <h5 id="события-изменения состояния карты">События изменения состояния карты</h5><table> <thead> <tr> <th>Событие</th> <th>Данные</th> <th>Описание</th> </tr> </thead> <tbody> <tr id="map-zoomlevelschange"> <td><code><b>zoomlevelschange</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#event">Event</a></code></td> <td>Вызывается, если при добавлении или удалении слоя карты изменилось количество доступных уровней масштабирования. </td> </tr> <tr id="map-resize"> <td><code><b>resize</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#event">Event</a></code></td> <td>Вызывается при изменении размера карты.</td> </tr> <tr id="map-unload"> <td><code><b>unload</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#event">Event</a></code></td> <td>Вызывается при удалении карты c помощью метода <a href="#map-remove">remove</a>.</td> </tr> <tr id="map-viewreset"> <td><code><b>viewreset</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#event">Event</a></code></td> <td>Вызывается, когда нужно перерисовать содержимое карты (обычно при изменении масштаба или загрузке). Полезно при создании дополнительных слоев. </td> </tr> <tr id="map-load"> <td><code><b>load</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#event">Event</a></code></td> <td>Вызывается при инициализации карты (при первой установке ее центра и масштаба).</td> </tr> <tr id="map-zoomstart"> <td><code><b>zoomstart</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#event">Event</a></code></td> <td>Вызывается в начале изменения масштаба (перед анимацией изменения масштаба).</td> </tr> <tr id="map-movestart"> <td><code><b>movestart</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#event">Event</a></code></td> <td>Вызывается в начале изменения области просмотра карты (например, когда пользователь начинает перетаскивать карту). </td> </tr> <tr id="map-zoom"> <td><code><b>zoom</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#event">Event</a></code></td> <td>Вызывается периодически, в течении любого изменения уровня масштаба, включая анимации перелета. </td> </tr> <tr id="map-move"> <td><code><b>move</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#event">Event</a></code></td> <td>Вызывается периодически, во время любого передвижения карты, включая анимации перелета. </td> </tr> <tr id="map-zoomend"> <td><code><b>zoomend</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#event">Event</a></code></td> <td>Вызывается после изменения масштаба и анимаций.</td> </tr> <tr id="map-moveend"> <td><code><b>moveend</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#event">Event</a></code></td> <td>Вызывается при окончании передвижения карты (например, когда пользователь прекращает перетаскивать карту). </td> </tr> <tr id="map-projectchange"> <td><code><b>projectchange</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#projectevent">ProjectEvent</a></code></td> <td>Вызывается при перемещении пользователя из одного <a href="#map-projectdetector">проекта 2ГИС</a> в другой. </td> </tr> <tr id="map-projectleave"> <td><code><b>projectleave</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#projectevent">ProjectEvent</a></code></td> <td>Вызывается при выходе пользователя из текущего <a href="#map-projectdetector">проекта 2ГИС</a>. </td> </tr> <tr id="map-entranceshow"> <td><code><b>entranceshow</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#event">Event</a></code></td> <td>Вызывается при отображении входа в здание.</td> </tr> <tr id="map-entrancehide"> <td><code><b>entrancehide</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#event">Event</a></code></td> <td>Вызывается при скрытии входа в здание.</td> </tr> <tr id="map-poihover"> <td><code><b>poihover</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#poievent">MetaEvent</a></code></td> <td>Вызывается при наведении курсора мыши на точку интереса.</td> </tr> <tr id="map-poileave"> <td><code><b>poileave</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#poievent">MetaEvent</a></code></td> <td>Вызывается, когда курсор мыши покидает область точки интереса.</td> </tr> <tr id="map-langchange"> <td><code><b>langchange</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#langevent">LangEvent</a></code></td> <td>Вызывается при изменении языка карты.</td> </tr> </tbody> </table> <h5 id="события-попапа">События попапа</h5><table> <thead> <tr> <th>Событие</th> <th>Данные</th> <th>Описание</th> </tr> </thead> <tbody> <tr id="map-popupopen"> <td><code><b>popupopen</b></code></td> <td><code>PopupEvent</code></td> <td>Вызывается при открытии попапа.</td> </tr> <tr id="map-popupclose"> <td><code><b>popupclose</b></code></td> <td><code>PopupEvent</code></td> <td>Вызывается при закрытии попапа.</td> </tr> <tr id="map-autopanstart"> <td><code><b>autopanstart</b></code></td> <td><code></code></td> <td>Вызывается, когда карта начинает двигаться после появления попапа.</td> </tr> </tbody> </table> <h5 id="события-взаимодействий">События взаимодействий</h5><table> <thead> <tr> <th>События</th> <th>Данные</th> <th>Описание</th> </tr> </thead> <tbody> <tr id="map-click"> <td><code><b>click</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#mouseevent">MouseEvent</a></code></td> <td>Вызывается при клике (или тапе) по карте.</td> </tr> <tr id="map-dblclick"> <td><code><b>dblclick</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#mouseevent">MouseEvent</a></code></td> <td>Вызывается при двойном клике (или двойном тапе) по карте.</td> </tr> <tr id="map-mousedown"> <td><code><b>mousedown</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#mouseevent">MouseEvent</a></code></td> <td>Вызывается при нажатии кнопки мыши над областью карты.</td> </tr> <tr id="map-mouseup"> <td><code><b>mouseup</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#mouseevent">MouseEvent</a></code></td> <td>Вызывается, когда пользователь отпускает кнопку мыши над областью карты.</td> </tr> <tr id="map-mouseover"> <td><code><b>mouseover</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#mouseevent">MouseEvent</a></code></td> <td>Вызывается при наведении курсора мыши на карту.</td> </tr> <tr id="map-mouseout"> <td><code><b>mouseout</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#mouseevent">MouseEvent</a></code></td> <td>Вызывается, когда курсор мыши покидает область карты.</td> </tr> <tr id="map-mousemove"> <td><code><b>mousemove</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#mouseevent">MouseEvent</a></code></td> <td>Вызывается, когда курсор мыши перемещается над картой.</td> </tr> <tr id="map-contextmenu"> <td><code><b>contextmenu</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#mouseevent">MouseEvent</a></code></td> <td>Вызывается при нажатии правой кнопки мыши на карте, предотвращает появление стандартного контекстного меню браузера, если на это событие подписаны обработчики. Также вызывается на мобильных устройствах, когда пользователь удерживает тач в течение секунды (долгое нажатие). </td> </tr> <tr id="map-keypress"> <td><code><b>keypress</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#event">Event</a></code></td> <td>Вызывается при нажатии клавиш на клавиатуре, когда карта находится в фокусе.</td> </tr> <tr id="map-preclick"> <td><code><b>preclick</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#mouseevent">MouseEvent</a></code></td> <td>Вызывается перед кликом мыши на карте (полезно, если нужно выполнить какое-либо действие до вызова обработчика клика). </td> </tr> </tbody> </table> <h5 id="события-анимаций">События анимаций</h5><table> <thead> <tr> <th>Событие</th> <th>Данные</th> <th>Описание</th> </tr> </thead> <tbody> <tr id="map-zoomanim"> <td><code><b>zoomanim</b></code></td> <td><code><a href="/doc/maps/ru/manual/base-classes#zoomanimevent">ZoomAnimEvent</a></code></td> <td>Вызывается каждый кадр, в процессе изменения масштаба.</td> </tr> </tbody> </table> <h5 id="события-местоположения">События местоположения</h5><table> <thead> <tr> <th>Событие</th> <th>Данные</th> <th>Описание</th> </tr> </thead> <tbody> <tr id="map-locationerror"> <td><code><b>locationerror</b></code></td> <td><code><a href="#errorevent">ErrorEvent</a></code></td> <td>Вызывается при возникновении ошибок, во время обнаружения местоположения пользователя (при использовании метода <a href="#map-locate"><code>locate</code></a>). </td> </tr> <tr id="map-locationfound"> <td><code><b>locationfound</b></code></td> <td><code><a href="#locationevent">LocationEvent</a></code></td> <td>Вызывается при успешном обнаружении местоположения пользователя (при использовании метода <a href="#map-locate">locate</a>). </td> </tr> </tbody> </table> <h4 id="методы">Методы</h4><table> <thead> <tr> <th>Метод</th> <th>Возвращает</th> <th>Описание</th> </tr> </thead> <tbody> <tr id="map-getrenderer"> <td> <code> <b>getRenderer</b>( <nobr>&lt;<a href="/doc/maps/ru/manual/vector-layers#dgpath">Path</a>&gt; <i>layer</i>)</nobr> </code> </td> <td><code><a href="/doc/maps/ru/manual/base-classes#dgrenderer">Renderer</a></code></td> <td>Возвращает экземпляр <a href="/doc/maps/ru/manual/base-classes#dgrenderer"><code>Renderer</code></a>, который должен быть использован для отрисовки необходимого <a href="/doc/maps/ru/manual/vector-layers#dgpath"><code>векторного слоя</code></a>. Метод гарантирует, что опции <a href="/doc/maps/ru/manual/base-classes#dgrenderer"><code>движка отображения</code></a> карты и векторных слоев будут учитываться, и что необходимые движки отображения действительно существуют на карте. </td> </tr> </tbody> </table> <h5 id="методы-слоев и элементов управления">Методы слоев и элементов управления</h5><table> <thead> <tr> <th>Метод</th> <th>Возвращает</th> <th>Описание</th> </tr> </thead> <tbody> <tr id="map-addlayer"> <td> <code> <b>addLayer</b>( <nobr>&lt;<a href="/doc/maps/ru/manual/base-classes#dglayer">Layer</a>&gt; <i>layer</i>)</nobr> </code> </td> <td><code>this</code></td> <td>Добавляет слой на карту.</td> </tr> <tr id="map-removelayer"> <td> <code> <b>removeLayer</b>( <nobr>&lt;<a href="/doc/maps/ru/manual/base-classes#dglayer">Layer</a>&gt; <i>layer</i>)</nobr> </code> </td> <td><code>this</code></td> <td>Удаляет указанные слои с карты.</td> </tr> <tr id="map-haslayer"> <td> <code> <b>hasLayer</b>( <nobr>&lt;<a href="/doc/maps/ru/manual/base-classes#dglayer">Layer</a>&gt; <i>layer</i>)</nobr> </code> </td> <td><code>Boolean</code></td> <td>Возвращает <code>true</code>, если слой, на данный момент, добавлен на карту.</td> </tr> <tr id="map-eachlayer"> <td> <code> <b>eachLayer</b>( <nobr>&lt;Function&gt; <i>fn</i></nobr>, <nobr>&lt;Object&gt; <i>context?</i>)</nobr> </code> </td> <td><code>this</code></td> <td> Выполняет заданную функцию для каждого слоя карты. Дополнительно можно указать контекст выполнения функции. <pre><code>map.eachLayer(function(layer){ layer.bindPopup(&#39;Hello&#39;); }); </code></pre> </td> </tr> <tr id="map-openpopup"> <td> <code> <b>openPopup</b>( <nobr>&lt;<a href="/doc/maps/ru/manual/popup#dgpopup">Popup</a>&gt; <i>popup</i>)</nobr> </code> </td> <td><code>this</code></td> <td>Показывает указанный попап, предварительно закрыв все открытые.</td> </tr> <tr id="map-openpopup"> <td> <code> <b>openPopup</b>( <nobr>&lt;String|HTMLElement&gt; <i>content</i></nobr>, <nobr>&lt;<a href="/doc/maps/ru/manual/basic-types#dglatlng">LatLng</a>&gt; <i>latlng</i></nobr>, <nobr>&lt;<a href="/doc/maps/ru/manual/popup#popup-option">Popup options</a>&gt; <i>options?</i>)</nobr> </code> </td> <td><code>this</code></td> <td>Создает попап с переданными опциями и содержимым и открывает его в определенной точке на карте.</td> </tr> <tr id="map-closepopup"> <td> <code> <b>closePopup</b>(<nobr>&lt;<a href="/doc/maps/ru/manual/popup#dgpopup">Popup</a>&gt; <i>popup?</i>)</nobr> </code> </td> <td><code>this</code></td> <td>Закрывает попап, открытый с помощью <a href="/doc/maps/ru/manual/popup#map-openpopup">openPopup</a>.</td> </tr> <tr id="map-addcontrol"> <td> <code> <b>addControl</b>( <nobr>&lt;<a href="/doc/maps/ru/manual/controls#dgcontrol">Control</a>&gt; <i>control</i>)</nobr> </code> </td> <td><code>this</code></td> <td>Добавляет элемент управления на карту.</td> </tr> <tr id="map-removecontrol"> <td> <code> <b>removeControl</b>( <nobr>&lt;<a href="/doc/maps/ru/manual/controls#dgcontrol">Control</a>&gt; <i>control</i>)</nobr> </code> </td> <td><code>this</code></td> <td>Удаляет элемент управления с карты.</td> </tr> </tbody> </table> <h5 id="методы-модификации состояния карты">Методы модификации состояния карты</h5><table> <thead> <tr> <th>Метод</th> <th>Возвращает</th> <th>Описание</th> </tr> </thead> <tbody> <tr id="map-setview"> <td> <code> <b>setView</b>( <nobr>&lt;LatLnt&gt; <i>center</i></nobr>, <nobr>&lt;Number&gt; <i>zoom</i></nobr>, <nobr>&lt;Zoom/Pan options&gt; <i>options?</i>)</nobr> </code> </td> <td><code>this</code></td> <td>Устанавливает область просмотра карты (географический центр и масштаб). Дополнительно можно указать опции анимации. </td> </tr> <tr id="map-setzoom"> <td> <code> <b>setZoom</b>( <nobr>&lt;Number&gt; <i>zoom</i></nobr>, <nobr>&lt;Zoom/Pan options&gt; <i>options</i>)</nobr> </code> </td> <td><code>this</code></td> <td>Устанавливает уровень масштаба.</td> </tr> <tr id="map-zoomin"> <td> <code> <b>zoomIn</b>( <nobr>&lt;Number&gt; <i>delta?</i></nobr>, <nobr>&lt;<a href="#опции-масштабирования">Zoom options</a>&gt; <i>options?</i>)</nobr> </code> </td> <td><code>this</code></td> <td>Увеличивает масштаб карты на величину <code>delta</code> (по умолчанию <a href="#map-zoomdelta"><code>zoomDelta</code></a>). </td> </tr> <tr id="map-zoomout"> <td> <code> <b>zoomOut</b>( <nobr>&lt;Number&gt; <i>delta?</i></nobr>, <nobr>&lt;<a href="#опции-масштабирования">Zoom options</a>&gt; <i>options?</i>)</nobr> </code> </td> <td><code>this</code></td> <td>Уменьшает масштаб карты на величину <code>delta</code> (по умолчанию <a href="#map-zoomdelta"><code>zoomDelta</code></a>). </td> </tr> <tr id="map-setzoomaround"> <td> <code> <b>setZoomAround</b>( <nobr>&lt;<a href="/doc/maps/ru/manual/basic-types#dglatlng">LatLng</a>&gt; <i>latlng</i></nobr>, <nobr>&lt;Number&gt; <i>zoom</i></nobr>, <nobr>&lt;<a href="#опции-масштабирования">Zoom options</a>&gt; <i>options</i>)</nobr> </code> </td> <td><code>this</code></td> <td>Масштабирует карту, сохраняя при этом указанную точку в неподвижном состоянии (например, используется для масштабировании при помощи колесика мыши и двойного клика). </td> </tr> <tr id="map-setzoomaround"> <td> <code> <b>setZoomAround</b>( <nobr>&lt;<a href="/doc/maps/ru/manual/basic-types#dgpoint">Point</a>&gt; <i>offset</i></nobr>, <nobr>&lt;Number&gt; <i>zoom</i></nobr>, <nobr>&lt;<a href="#опции-масштабирования">Zoom options</a>&gt; <i>options</i>)</nobr> </code> </td> <td><code>this</code></td> <td>Масштабирует карту, сохраняя при этом указанную точку в пикселях в неподвижном состоянии (относительно левого верхнего угла). </td> </tr> <tr id="map-fitbounds"> <td> <code> <b>fitBounds</b>( <nobr>&lt;<a href="/doc/maps/ru/manual/basic-types#dglatlngbounds">LatLngBounds</a>&gt; <i>bounds</i></nobr>, <nobr>&lt;<a href="#опции-соответствия-границам">fitBounds options</a>&gt; <i>options</i>)</nobr> </code> </td> <td><code>this</code></td> <td>Устанавливает область просмотра карты так, чтобы она содержала заданные границы, на максимально возможном уровне масштаба. </td> </tr> <tr id="map-fitworld"> <td> <code> <b>fitWorld</b>( <nobr>&lt;<a href="#опции-соответствия-границам">fitBounds options</a>&gt; <i>options?</i>)</nobr> </code> </td> <td><code>this</code></td> <td>Устанавливает область просмотра карты так, чтобы та отображала весь мир, на максимально возможном уровне масштаба. </td> </tr> <tr id="map-panto"> <td> <code> <b>panTo</b>( <nobr>&lt;<a href="/doc/maps/ru/manual/basic-types#dglatlng">LatLng</a>&gt; <i>latlng</i></nobr>, <nobr>&lt;<a href="#опции-перемещения">Pan options</a>&gt; <i>options?</i>)</nobr> </code> </td> <td><code>this</code></td> <td>Передвигает карту к указанному центру. </td> </tr> <tr id="map-panby"> <td> <code> <b>panBy</b>( <nobr>&lt;<a href="/doc/maps/ru/manual/basic-types#dgpoint">Point</a>&gt; <i>offset</i>)</nobr> </code> </td> <td><code>this</code></td> <td>Перемещает карту на заданное количество пикселей (анимировано).</td> </tr> <tr id="map-setmaxbounds"> <td> <code> <b>setMaxBounds</b>( <nobr>&lt;<a href="/doc/maps/ru/manual/basic-types#dgbounds">Bounds</a>&gt; <i>bounds</i>)</nobr> </code> </td> <td><code>this</code></td> <td>Ограничивает область просмотра карты заданными границами (см. опцию <a href="#map-maxbounds">maxBounds</a>). </td> </tr> <tr id="map-setminzoom"> <td><code><b>setMinZoom</b>(<nobr>&lt;Number&gt; <i>zoom</i>)</nobr></code></td> <td><code>this</code></td> <td>Устанавливает нижний предел уровней масштабирования (см. опцию <a href="#map-minzoom">minZoom</a>). </td> </tr> <tr id="map-setmaxzoom"> <td><code><b>setMaxZoom</b>(<nobr>&lt;Number&gt; <i>zoom</i>)</nobr></code></td> <td><code>this</code></td> <td>Устанавливает верхний предел уровней масштабирования (см. опцию <a href="#map-minzoom">maxZoom</a>). </td> </tr> <tr id="map-paninsidebounds"> <td> <code> <b>panInsideBounds</b>( <nobr>&lt;<a href="/doc/maps/ru/manual/basic-types#dglatlngbounds">LatLngBounds</a>&gt; <i>bounds</i></nobr>, <nobr>&lt;<a href="#опции-перемещения">Pan options</a>&gt; <i>options?</i>)</nobr> </code> </td> <td><code>this</code></td> <td>Перемещает карту в ближайшую область просмотра, лежащую в пределах заданных границ. Можно контролировать анимацию, передав объект опций вторым параметром. </td> </tr> <tr id="map-invalidatesize"> <td><code><b>invalidateSize</b>(<nobr>&lt;Zoom/Pan options&gt; <i>options</i>)</nobr></code></td> <td><code>this</code></td> <td>Обновляет карту при изменении размера ее контейнера. Этот метод необходимо вызывать, если размер контейнера изменяется динамически (по умолчанию, также будет происходить анимация переимещения). Если параметр <code>options.pan</code> установлен в <code>false</code>, то карта не будет перемещаться. Если параметр <code>options.debounceMoveend</code> установлен в <code>true</code>, то событие <code>moveend</code> не будет вызываться часто, даже есл