Класс OverlayView
google.maps . OverlayView
Вы можете реализовать этот класс, если хотите отображать на карте пользовательские типы наложенных объектов.
Наследуйтесь от этого класса, установив прототип вашего оверлея: MyOverlay.prototype = new google.maps.OverlayView();
. Конструктор OverlayView
гарантированно будет пустой функцией.
Необходимо реализовать три метода: onAdd()
, draw()
и onRemove()
.
- В методе
onAdd()
необходимо создать объекты DOM и добавить их в качестве дочерних элементов панелей. - В методе
draw()
необходимо позиционировать эти элементы. - В методе
onRemove()
необходимо удалить объекты из DOM.
setMap()
с допустимым объектом Map
, чтобы инициировать вызов метода onAdd()
, и setMap(null)
для вызова метода onRemove()
. Метод setMap()
можно вызвать во время создания или в любой момент после этого, когда наложение должно быть отображено повторно после удаления. Метод draw()
будет вызываться при каждом изменении свойства карты, которое может повлиять на положение элемента, например, масштабирование, центрирование или тип карты. Этот класс расширяет MVCObject
.
Доступ осуществляется путем вызова const {OverlayView} = await google.maps.importLibrary("maps")
или const {OverlayView} = await google.maps.importLibrary("streetView")
.
См. Библиотеки в Maps JavaScript API .
Конструктор | |
---|---|
OverlayView | OverlayView() Параметры: нет Создает OverlayView . |
Статические методы | |
---|---|
preventMapHitsAndGesturesFrom | preventMapHitsAndGesturesFrom(element) Параметры:
Возвращаемое значение: нет Предотвращает всплывающее окно событий щелчка, касания, перетаскивания и прокрутки элемента на карту. Используйте это, чтобы предотвратить перетаскивание и масштабирование карты, а также события щелчков по ней. |
preventMapHitsFrom | preventMapHitsFrom(element) Параметры:
Возвращаемое значение: нет Предотвращает всплывающее окно при щелчке или касании элемента на карте. Используйте это, чтобы карта не запускала события «щелчок». |
Методы | |
---|---|
draw | draw() Параметры: нет Возвращаемое значение: нет Реализуйте этот метод для отрисовки или обновления наложения. Используйте положение из project.fromLatLngToDivPixel() для корректного позиционирования наложения относительно MapPanes. Этот метод вызывается после onAdd() и при изменении масштаба или центра. Не рекомендуется выполнять в этом методе ресурсоёмкие вычислительные операции. |
getMap | getMap() Параметры: нет Возвращаемое значение: Map | StreetViewPanorama |
getPanes | getPanes() Параметры: нет Возвращаемое значение: MapPanes |null Возвращает панели, на которых может отображаться этот OverlayView. Панели не инициализируются до вызова API метода onAdd . |
getProjection | getProjection() Параметры: нет Возвращаемое значение: MapCanvasProjection Возвращает объект MapCanvasProjection , связанный с этим OverlayView . Проекция не инициализируется, пока API не вызовет метод onAdd . |
onAdd | onAdd() Параметры: нет Возвращаемое значение: нет Реализуйте этот метод для инициализации элементов DOM-модели наложения. Этот метод вызывается один раз после вызова setMap() с корректной картой. К этому моменту панели и проекция уже будут инициализированы. |
onRemove | onRemove() Параметры: нет Возвращаемое значение: нет Реализуйте этот метод для удаления элементов из DOM. Этот метод вызывается один раз после вызова setMap(null). |
setMap | setMap(map) Параметры:
Возвращаемое значение: нет Добавляет наложение на карту или панораму. |
Унаследовано: addListener , bindTo , get , notify , set , setValues , unbind , unbindAll |
Интерфейс MapPanes
google.maps . MapPanes
Характеристики | |
---|---|
floatPane | Тип: Element Эта панель содержит информационное окно. Оно расположено поверх всех слоев карты. (Панель 4). |
mapPane | Тип: Element Эта панель — самая нижняя и расположена над плитками. Она не получает события DOM. (Панель 0). |
markerLayer | Тип: Element Эта панель содержит маркеры. Она не получает события DOM. (Панель 2). |
overlayLayer | Тип: Element Эта панель содержит полилинии, полигоны, наложения земной поверхности и наложения тайловых слоёв. Она не получает события DOM. (Панель 1). |
overlayMouseTarget | Тип: Element Эта панель содержит элементы, которые получают события DOM. (Панель 3). |
Интерфейс MapCanvasProjection
google.maps . MapCanvasProjection
Этот объект доступен OverlayView
из метода draw. Его инициализация не гарантируется до вызова метода draw.
Методы | |
---|---|
fromContainerPixelToLatLng | fromContainerPixelToLatLng(pixel[, noClampNoWrap]) Параметры:
Возвращаемое значение: LatLng |null Вычисляет географические координаты на основе пиксельных координат в контейнере карты. |
fromDivPixelToLatLng | fromDivPixelToLatLng(pixel[, noClampNoWrap]) Параметры:
Возвращаемое значение: LatLng |null Вычисляет географические координаты из пиксельных координат в div, содержащем перетаскиваемую карту. |
fromLatLngToContainerPixel | fromLatLngToContainerPixel(latLng) Параметры:
Возвращаемое значение: Point |null Вычисляет пиксельные координаты заданного географического местоположения в контейнерном элементе карты. |
fromLatLngToDivPixel | fromLatLngToDivPixel(latLng) Параметры:
Возвращаемое значение: Point |null Вычисляет пиксельные координаты заданного географического местоположения в элементе DOM, содержащем перетаскиваемую карту. |
getVisibleRegion | getVisibleRegion() Параметры: нет Возвращаемое значение: VisibleRegion |null Видимая область карты. Возвращает значение null , если карта не имеет размера. Возвращает значение null если OverlayView находится на StreetViewPanorama. |
getWorldWidth | getWorldWidth() Параметры: нет Возвращаемое значение: number Ширина карты мира в пикселях при текущем уровне масштабирования. Для проекций с углом обзора 90 или 270 градусов это соответствует диапазону пикселей по оси Y. |