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