WebGL

WebGLOverlayView

Clase google.maps.WebGLOverlayView

La vista de superposición de WebGL brinda acceso directo al mismo contexto de renderización de WebGL que usa Google Maps Platform para renderizar el mapa base vectorial. El uso del contexto de renderización compartida proporciona beneficios como la oclusión de profundidad con geometría de los edificios 3D y la capacidad de sincronizar el contenido 2D/3D con la representación del mapa base.

Con la vista de superposición de WebGL, puedes agregar contenido a tus mapas directamente con WebGL o con las bibliotecas de gráficos populares, como Three.js o deck.gl. A fin de usar la superposición, puedes extender google.maps.WebGLOverlayView y proporcionar una implementación para cada uno de los siguientes hooks de ciclo de vida: WebGLOverlayView.onAdd, WebGLOverlayView.onContextRestored, WebGLOverlayView.onDraw, WebGLOverlayView.onContextLost y WebGLOverlayView.onRemove.

Debes llamar a WebGLOverlayView.setMap con un objeto Map válido para activar la llamada al método onAdd() y a setMap(null) a fin de activar el método onRemove(). Se puede llamar al método setMap() en el momento de la construcción o en cualquier momento posterior, cuando la superposición se debe volver a mostrar después de quitarla. Luego, se llamará al método onDraw() cada vez que cambie una propiedad del mapa que pueda cambiar la posición del elemento, como el zoom, el centro o el tipo de mapa. WebGLOverlayView solo se puede agregar a un mapa de vectores que tenga un MapOptions.mapId.

Esta clase extiende MVCObject.

Accede llamando a const {WebGLOverlayView} = await google.maps.importLibrary("maps"). Consulta Bibliotecas en la API de Maps JavaScript.

WebGLOverlayView
WebGLOverlayView()
Parámetros: ninguno
Crea un WebGLOverlayView.
getMap
getMap()
Parámetros: ninguno
Valor que se muestra:  Map|null|undefined
onAdd
onAdd()
Parámetros: ninguno
Valor que se muestra: Ninguno
Implementa este método para recuperar o crear estructuras de datos intermedios antes de que se dibuje la superposición que no requieran acceso inmediato al contexto de renderización de WebGL. Se debe implementar este método para su renderización.
onContextLost
onContextLost()
Parámetros: ninguno
Valor que se muestra: Ninguno
Se llama a este método cuando se pierde el contexto de renderización por algún motivo, y es allí donde debes borrar todos los estados de GL preexistentes, porque ya no son necesarios.
onContextRestored
onContextRestored(options)
Parámetros: 
  • optionsWebGLStateOptions que permite a los desarrolladores restablecer el contexto de GL.
Valor que se muestra: Ninguno
Se llama a este método una vez que el contexto de renderización está disponible. Úsalo para inicializar o vincular cualquier estado de WebGL, como sombreadores y objetos de búfer.
onDraw
onDraw(options)
Parámetros: 
  • optionsWebGLDrawOptions que permite a los desarrolladores renderizar contenido en un mapa base de Google asociado.
Valor que se muestra: Ninguno
Implementa este método para dibujar contenido WebGL directamente en el mapa. Ten en cuenta que, si la superposición requiere un marco nuevo dibujado, llama a WebGLOverlayView.requestRedraw.
onRemove
onRemove()
Parámetros: ninguno
Valor que se muestra: Ninguno
Se llama a este método cuando se quita la superposición del mapa con WebGLOverlayView.setMap(null) y es el lugar en el que debes quitar todos los objetos intermedios. Se debe implementar este método para su renderización.
onStateUpdate
onStateUpdate(options)
Parámetros: 
  • optionsWebGLStateOptions que permite que los desarrolladores restablezcan el contexto de GL.
Valor que se muestra: Ninguno
Implementa este método para controlar cualquier actualización de estado de GL fuera del marco de animación de renderización.
requestRedraw
requestRedraw()
Parámetros: ninguno
Valor que se muestra: Ninguno
Activa el mapa para volver a dibujar un marco.
requestStateUpdate
requestStateUpdate()
Parámetros: ninguno
Valor que se muestra: Ninguno
Activa el mapa para actualizar el estado de GL.
setMap
setMap([map])
Parámetros: 
  • mapMap optional El mapa para acceder al estado de div, modelo y vista
Valor que se muestra: Ninguno
Agrega la superposición al mapa.
Heredada: addListener, bindTo, get, notify, set, setValues, unbind, unbindAll

WebGLDrawOptions

Interfaz de google.maps.WebGLDrawOptions

Opciones de dibujo

gl
WebGLRenderingContext en el cual renderizar esta WebGLOverlayView.
transformer
La transformación de la matriz desde el espacio de la cámara hasta las coordenadas de latitud y longitud

WebGLStateOptions

Interfaz de google.maps.WebGLStateOptions

Opciones de estado de GL.

gl
WebGLRenderingContext en el cual renderizar esta WebGLOverlayView.

CoordinateTransformer

Interfaz de google.maps.CoordinateTransformer

Esta interfaz proporciona métodos convenientes para generar matrices que se usarán para representar escenas de WebGL sobre el mapa base de Google.

Nota: Una referencia a este objeto no se debe mantener fuera del alcance de la llamada encapsulada de WebGLOverlayView.onDraw.

fromLatLngAltitude
fromLatLngAltitude(latLngAltitude[, rotations, scale])
Parámetros: 
  • latLngAltitudeLatLngAltitude|LatLngAltitudeLiteral Latitud, longitud y altitud.
  • rotationsFloat32Array optional Es un array que contiene un ángulo de rotación de Euler en grados, según la convención XYZ.
  • scale:  Es el array Float32Array optional que contiene un arreglo escalar XYZ para aplicar al eje cardinal.
Valor que se muestra: Es la matriz MVP Float64Array que se utilizará con WebGL.
getCameraParams
getCameraParams()
Parámetros: ninguno
Valor que se muestra:  CameraParams parámetros de cámara

CameraParams

Interfaz de google.maps.CameraParams

Se usa a fin de recuperar los parámetros de la cámara, como el de la cámara GL usada para WebGLOverlayView.

Esta interfaz extiende CameraOptions.

center
Tipo:  LatLng
heading
Tipo:  number
tilt
Tipo:  number
zoom
Tipo:  number