Класс 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)Параметры:
Возвращаемое значение: нет.
Добавляет наложение на карту или панораму. |
Унаследованные:
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. |