Класс WebGLOverlayView
google.maps . WebGLOverlayView
Класс google.maps . WebGLOverlayView
Представление наложения WebGL обеспечивает прямой доступ к тому же контексту рендеринга WebGL, который платформа Google Maps использует для рендеринга векторной базовой карты. Такое использование общего контекста рендеринга обеспечивает такие преимущества, как перекрытие глубины с геометрией трехмерного здания и возможность синхронизации 2D/3D-контента с рендерингом базовой карты.
С помощью режима наложения WebGL вы можете добавлять контент на свои карты напрямую с помощью 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) Параметры:
Возвращаемое значение: Нет Этот метод вызывается, как только становится доступен контекст рендеринга. Используйте его для инициализации или привязки любого состояния 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
Интерфейс 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]) Параметры:
Возвращаемое значение: матрица MVP Float64Array для использования с WebGL. |
getCameraParams | getCameraParams() Параметры: Нет Возвращаемое значение: параметры камеры CameraParams |
Интерфейс камерыпарамс
google.maps . CameraParams
Интерфейс google.maps . CameraParams
Используется для получения параметров камеры, например камеры GL, используемой для WebGLOverlayView
.
Этот интерфейс расширяет CameraOptions
.
Характеристики | |
---|---|
center | Тип: LatLng |
heading | Тип: number |
tilt | Тип: number |
zoom | Тип: number |