WebGL

класс WebGLOverlayView

google.maps . WebGLOverlayView класс google.maps . WebGLOverlayView

Представление наложения WebGL обеспечивает прямой доступ к тому же контексту рендеринга WebGL, который Google Maps Platform использует для рендеринга векторной базовой карты. Такое использование общего контекста рендеринга обеспечивает такие преимущества, как перекрытие глубины трехмерной геометрией здания и возможность синхронизации 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 .

Этот класс расширяет 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)
Параметры:
  • options : WebGLStateOptions , которые позволяют разработчикам восстанавливать контекст GL.
Возвращаемое значение: нет
Этот метод вызывается, как только становится доступным контекст рендеринга. Используйте его для инициализации или привязки любого состояния WebGL, такого как шейдеры или объекты буфера.
onDraw
onDraw(options)
Параметры:
  • options : WebGLDrawOptions , которые позволяют разработчикам отображать контент на связанной базовой карте Google.
Возвращаемое значение: нет
Реализуйте этот метод, чтобы отображать содержимое WebGL непосредственно на карте. Обратите внимание: если оверлею требуется отрисовка нового кадра, вызовите WebGLOverlayView.requestRedraw .
onRemove
onRemove()
Параметры: Нет
Возвращаемое значение: нет
Этот метод вызывается, когда наложение удаляется с карты с помощью WebGLOverlayView.setMap(null) , и именно здесь вы должны удалить все промежуточные объекты. Этот метод должен быть реализован для рендеринга.
onStateUpdate
onStateUpdate(options)
Параметры:
  • options : WebGLStateOptions , которые позволяют разработчикам восстанавливать контекст GL.
Возвращаемое значение: нет
Реализуйте этот метод для обработки любых обновлений состояния GL за пределами кадра анимации рендеринга.
requestRedraw
requestRedraw()
Параметры: Нет
Возвращаемое значение: нет
Запускает карту для перерисовки кадра.
requestStateUpdate
requestStateUpdate()
Параметры: Нет
Возвращаемое значение: нет
Запускает карту для обновления состояния GL.
setMap
setMap([map])
Параметры:
  • map : Map optional Карта для доступа к div, модели и состоянию просмотра.
Возвращаемое значение: нет
Добавляет наложение на карту.
Унаследовано: addListener , bindTo , get , notify , set , setValues , unbind , unbindAll

Интерфейс WebGLDrawOptions

google.maps . WebGLDrawOptions Интерфейс google.maps . WebGLDrawOptions

Варианты рисования.

gl
WebGLRenderingContext, в котором должен отображаться этот WebGLOverlayView.
transformer
Преобразование матрицы из пространства камеры в координаты широты/долготы.

Интерфейс WebGLStateOptions

google.maps . WebGLStateOptions Интерфейс google.maps . WebGLStateOptions

Варианты состояния GL.

gl
WebGLRenderingContext, в котором должен отображаться этот WebGLOverlayView.

Интерфейс преобразователя координат

google.maps . CoordinateTransformer Интерфейс google.maps . CoordinateTransformer

Этот интерфейс предоставляет удобные методы для создания матриц, используемых для визуализации сцен WebGL поверх базовой карты Google.

Примечание. Ссылка на этот объект не должна находиться за пределами инкапсулирующего вызова WebGLOverlayView.onDraw .

fromLatLngAltitude
fromLatLngAltitude(latLngAltitude[, rotations, scale])
Параметры:
  • latLngAltitude : LatLngAltitude | LatLngAltitudeLiteral Широта, долгота и высота над уровнем моря.
  • rotations : Float32Array optional Массив, который содержит угол поворота Эйлера в градусах в соглашении XYZ.
  • scale : Float32Array optional массив, содержащий скалярный массив XYZ для применения к кардинальной оси.
Возвращаемое значение: MVP-матрица Float64Array для использования с WebGL.
getCameraParams
getCameraParams()
Параметры: Нет
Возвращаемое значение: параметры камеры CameraParams

Интерфейс CameraParams

google.maps . CameraParams Интерфейс google.maps . CameraParams

Используется для получения параметров камеры, таких как камера GL, используемая для WebGLOverlayView .

Этот интерфейс расширяет CameraOptions .

center
Тип: LatLng
heading
Тип: number
tilt
Тип: number
zoom
Тип: number