DOM elements

Класс Оверлейвиев

google.maps . 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 Интерфейс 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 Интерфейс google.maps . MapCanvasProjection

Этот объект доступен OverlayView из метода рисования. Не гарантируется его инициализация до вызова 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.