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