WebGL

Класс WebGLOverlayView

google.maps.WebGLOverlayView класс

Наложение 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).

Этот класс расширяет MVCObject.

Чтобы получить доступ, позвоните по номеру const {WebGLOverlayView} = await google.maps.importLibrary("maps").
Подробнее о библиотеках Maps JavaScript API…

WebGLOverlayView
WebGLOverlayView()
Параметры: нет.
Создает WebGLOverlayView.
getMap
getMap()
Параметры: нет.
Возвращаемое значение:  Map|null|undefined
onAdd
onAdd()
Параметры: нет.
Возвращаемое значение: нет.
Этот метод позволяет ещё до отрисовки наложения извлекать и создавать промежуточные структуры данных, которые не требуют немедленного доступа к контексту визуализации WebGL. Этот метод должен быть реализован для отрисовки.
onContextLost
onContextLost()
Параметры: нет.
Возвращаемое значение: нет.
Этот метод вызывается, когда контекст визуализации потерян по какой бы то ни было причине. При его вызове необходимо очистить все предыдущие состояния графической библиотеки, поскольку они больше не потребуются.
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.
Возвращаемое значение: нет.
Реализуйте этот метод, чтобы обрабатывать любые обновления состояния графической библиотеки вне кадра анимации отрисовки.
requestRedraw
requestRedraw()
Параметры: нет.
Возвращаемое значение: нет.
Запускает перерисовку кадра на карте.
requestStateUpdate
requestStateUpdate()
Параметры: нет.
Возвращаемое значение: нет.
Запускает обновление состояния графической библиотеки на карте.
setMap
setMap([map])
Параметры: 
  • map:  Map optional Карта для доступа к div, модели и состоянию просмотра.
Возвращаемое значение: нет.
Добавляет наложение на карту.
Унаследованные: 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])
Параметры: 
  • latLngAltitude:  LatLngAltitude|LatLngAltitudeLiteral широта, долгота и высота.
  • rotations – массив Float32Array optional, содержащий угол Эйлера в градусах, в системе XYZ.
  • scale – Float32Array optional массив, содержащий скалярный массив XYZ, который применяется к главной оси.
Возвращаемое значение:  Float64Array матрица MVP для использования с WebGL.
getCameraParams
getCameraParams()
Параметры: нет.
Возвращаемое значение: параметры камеры CameraParams.

Интерфейс CameraParams

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

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

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

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