класс 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
.
Конструктор | |
---|---|
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 . |
Интерфейс CameraParams
google.maps . CameraParams
Интерфейс google.maps . CameraParams
Используется для получения параметров камеры, таких как камера GL, используемая для WebGLOverlayView
.
Этот интерфейс расширяет CameraOptions
.
Характеристики | |
---|---|
center | Тип: LatLng |
heading | Тип: number |
tilt | Тип: number |
zoom | Тип: number |