DOM elements

Класс OverlayView

google.maps.OverlayView class
extends MVCObject
library "maps", "streetView"

Вы можете реализовать этот класс, если хотите показывать на карте собственные типы объектов наложения.

Наследуйте этот класс, задав прототип оверлея: MyOverlay.prototype = new google.maps.OverlayView();. Конструктор OverlayView гарантированно является пустой функцией.

Необходимо реализовать три метода: onAdd(), draw() и onRemove().

  • В методе onAdd() необходимо создать объекты DOM и добавить их в качестве дочерних элементов областей.
  • В методе draw() необходимо разместить эти элементы.
  • В методе onRemove() необходимо удалить объекты из DOM.
Чтобы вызвать метод onAdd(), необходимо вызвать setMap() с действительным объектом Map. Чтобы вызвать метод onRemove(), необходимо вызвать setMap(null). Метод setMap() можно вызвать во время создания или в любой момент после этого, когда нужно повторно показать наложение после удаления. Метод draw() будет вызываться при каждом изменении свойства карты, которое может повлиять на положение элемента, например при изменении масштаба, центра или типа карты.

const {OverlayView} = await google.maps.importLibrary("maps");
или
const {OverlayView} = await google.maps.importLibrary("streetView");
OverlayView
OverlayView()
Параметры: нет.
Создает OverlayView.
preventMapHitsAndGesturesFrom
preventMapHitsAndGesturesFrom(element)
Параметры:
Возвращаемое значение: нет.
Предотвращает всплывание событий клика, нажатия, перетаскивания и прокрутки колесика мыши на элементе до карты. Это позволяет запретить перетаскивание и масштабирование карты, а также события нажатия на карту.
preventMapHitsFrom
preventMapHitsFrom(element)
Параметры:
Возвращаемое значение: нет.
Предотвращает всплытие клика или нажатия на элемент до карты. Используйте этот параметр, чтобы карта не активировала события click.
draw
draw()
Параметры: нет.
Возвращаемое значение: void
Используйте этот метод для показа или обновления наложенной графики. Используйте позицию, полученную с помощью projection.fromLatLngToDivPixel(), чтобы правильно расположить оверлей относительно MapPanes. Этот метод вызывается после onAdd(), а также при изменении масштаба или центра. Не рекомендуется выполнять в этом методе ресурсоемкие вычисления.
getMap
getMap()
Параметры: нет.
Возвращаемое значение: Map|StreetViewPanorama
getPanes
getPanes()
Параметры: нет.
Возвращаемое значение: MapPanes|null
Возвращает панели, на которых может быть отрисован этот OverlayView. Панели не инициализируются, пока API не вызовет onAdd.
getProjection
getProjection()
Параметры: нет.
Возвращаемое значение: MapCanvasProjection
Возвращает объект MapCanvasProjection, связанный с этим объектом OverlayView. Проекция не инициализируется, пока API не вызовет onAdd.
onAdd
onAdd()
Параметры: нет.
Возвращаемое значение: void
Используйте этот метод для инициализации элементов DOM наложения. Этот метод вызывается один раз после вызова метода setMap() с допустимой картой. К этому моменту панели и проекции уже должны быть инициализированы.
onRemove
onRemove()
Параметры: нет.
Возвращаемое значение: void
Используйте этот метод для удаления своих элементов из 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.