Класс WebGLOverlayView
class
google.maps.WebGLOverlayView
extends MVCObject
library "maps"
Наложение WebGL обеспечивает прямой доступ к тому же контексту визуализации WebGL, который платформа Google Карт использует для отрисовки векторной базовой карты. Общий контекст визуализации позволяет отрисовывать перекрывающиеся в глубине 3D-здания и синхронизировать показ 2D/3D-контента с отрисовкой базовой карты.
С помощью наложений WebGL вы можете добавлять объекты на карты напрямую через WebGL или с помощью популярных графических библиотек, таких как Three.js или deck.gl. Чтобы использовать оверлей, вы можете расширить google.maps.WebGLOverlayView и реализовать каждый из следующих хуков жизненного цикла: WebGLOverlayView.onAdd, WebGLOverlayView.onContextRestored, WebGLOverlayView.onDraw, WebGLOverlayView.onContextLost и WebGLOverlayView.onRemove.
Чтобы вызвать метод onAdd(), необходимо вызвать WebGLOverlayView.setMap с действительным объектом Map. Чтобы вызвать метод onRemove(), необходимо вызвать setMap(null). Метод setMap() можно вызвать во время создания или в любой момент после этого, когда нужно повторно показать наложение после удаления. Метод onDraw() будет вызываться при каждом изменении свойства карты, которое может повлиять на положение элемента, например при изменении масштаба, центра или типа карты. Объект WebGLOverlayView можно добавить только на векторную карту с MapOptions.mapId (в том числе на карты, для которых задан RenderingType.VECTOR MapOptions.renderingType и используется Map.DEMO_MAP_ID в качестве MapOptions.mapId).
const {WebGLOverlayView} = await google.maps.importLibrary("maps");
Конструктор | |
|---|---|
WebGLOverlayView |
WebGLOverlayView()Параметры: нет.
Создает WebGLOverlayView. |
Методы | |
|---|---|
getMap |
getMap()Параметры: нет.
Возвращаемое значение:
Map|null|undefined |
onAdd |
onAdd()Параметры: нет.
Возвращаемое значение: нет.
Этот метод позволяет ещё до отрисовки наложения извлекать и создавать промежуточные структуры данных, которые не требуют немедленного доступа к контексту визуализации WebGL. Этот метод должен быть реализован для отрисовки. |
onContextLost |
onContextLost()Параметры: нет.
Возвращаемое значение: нет.
Этот метод вызывается, когда контекст визуализации потерян по какой бы то ни было причине. При его вызове необходимо очистить все предыдущие состояния графической библиотеки, поскольку они больше не потребуются. |
onContextRestored |
onContextRestored(options)Параметры:
Возвращаемое значение: нет.
Этот метод вызывается, когда становится доступен контекст отрисовки. Используйте этот хук для инициализации или привязки любого состояния WebGL (шейдеров, объектов буфера и т. д.). |
onDraw |
onDraw(options)Параметры:
Возвращаемое значение: нет.
Реализуйте этот метод, чтобы рисовать контент WebGL непосредственно на карте. Если для наложения требуется отрисовка нового кадра, вызовите WebGLOverlayView.requestRedraw. |
onRemove |
onRemove()Параметры: нет.
Возвращаемое значение: нет.
Этот метод вызывается при удалении наложения с карты с помощью метода WebGLOverlayView.setMap(null). При его вызове необходимо очистить все промежуточные объекты. Этот метод должен быть реализован для отрисовки. |
onStateUpdate |
onStateUpdate(options)Параметры:
Возвращаемое значение: нет.
Реализуйте этот метод, чтобы обрабатывать любые обновления состояния графической библиотеки вне кадра анимации отрисовки. |
requestRedraw |
requestRedraw()Параметры: нет.
Возвращаемое значение: нет.
Запускает перерисовку кадра на карте. |
requestStateUpdate |
requestStateUpdate()Параметры: нет.
Возвращаемое значение: нет.
Запускает обновление состояния графической библиотеки на карте. |
setMap |
setMap([map])Параметры:
Возвращаемое значение: нет.
Добавляет наложение на карту. |
Унаследованные:
addListener,
bindTo,
get,
notify,
set,
setValues,
unbind,
unbindAll.
| |
Интерфейс WebGLDrawOptions
интерфейс
google.maps.WebGLDrawOptions
Параметры рисования.
Свойства | |
|---|---|
gl |
Объект WebGLRenderingContext, на котором будет отрисован этот объект WebGLOverlayView. |
transformer |
Матрица преобразования из пространства камеры в координаты широты и долготы. |
Интерфейс WebGLStateOptions
интерфейс
google.maps.WebGLStateOptions
Настройки состояния графической библиотеки.
Свойства | |
|---|---|
gl |
Объект WebGLRenderingContext, на котором будет отрисован этот объект WebGLOverlayView. |
Интерфейс CoordinateTransformer
интерфейс
google.maps.CoordinateTransformer
Этот интерфейс предоставляет удобные методы для создания матриц, которые используются для визуализации сцен WebGL поверх базовой карты Google.
Примечание. Ссылка на этот объект не должна храниться за пределами области действия инкапсулирующего вызова WebGLOverlayView.onDraw.
Методы | |
|---|---|
fromLatLngAltitude |
fromLatLngAltitude(latLngAltitude[, rotations, scale])Параметры:
Возвращаемое значение:
Float64Array матрица MVP для использования с WebGL. |
getCameraParams |
getCameraParams()Параметры: нет.
Возвращаемое значение: параметры камеры
CameraParams. |
Интерфейс CameraParams
interface
google.maps.CameraParams
extends CameraOptions
Используется для получения параметров камеры, например камеры GL, которая используется для WebGLOverlayView.
Свойства | |
|---|---|
center |
Тип:
LatLng |
heading |
Тип:
number |
tilt |
Тип:
number |
zoom |
Тип:
number |