DOM elements

Класс 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)
Параметры:
  • map : Map | StreetViewPanorama optional Карта или панорама. Если null , слой будет удалён.
Возвращаемое значение: нет
Добавляет наложение на карту или панораму.
Унаследовано: 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])
Параметры:
  • pixel : Point optional
  • noClampNoWrap : boolean optional
Возвращаемое значение: LatLng |null
Вычисляет географические координаты на основе пиксельных координат в контейнере карты.
fromDivPixelToLatLng
fromDivPixelToLatLng(pixel[, noClampNoWrap])
Параметры:
  • pixel : Point optional
  • noClampNoWrap : boolean optional
Возвращаемое значение: 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.