Clase 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 de vectores. Este uso de un contexto de renderización compartido ofrece beneficios como la oclusión de profundidad con la geometría de edificios 3D y la capacidad de sincronizar contenido 2D/3D con la renderización de mapas 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. Para 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)
para 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 debe volver a mostrarse después de quitarla. Se llamará al método onDraw()
cada vez que cambie una propiedad del mapa que podría modificar 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
(incluidos los mapas establecidos en RenderingType.VECTOR
MapOptions.renderingType
y con Map.DEMO_MAP_ID
como MapOptions.mapId
).
Esta clase extiende MVCObject
.
Para acceder, llama a const {WebGLOverlayView} = await google.maps.importLibrary("maps")
. Consulta el artículo Bibliotecas de la API de Maps JavaScript.
Constructor | |
---|---|
WebGLOverlayView |
WebGLOverlayView() Parámetros: Ninguno
Crea un WebGLOverlayView . |
Métodos | |
---|---|
getMap |
getMap() Parámetros: Ninguno
Valor que se devuelve:
Map|null|undefined |
onAdd |
onAdd() Parámetros: Ninguno
Valor que se devuelve: Ninguno
Implementa este método para recuperar o crear estructuras intermedias de datos antes de que se dibuje la superposición que no requieran acceso inmediato al contexto de renderización de WebGL. Debes implementar este método para la renderización. |
onContextLost |
onContextLost() Parámetros: Ninguno
Valor que se devuelve: 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 los estados de GL preexistentes, porque ya no son necesarios. |
onContextRestored |
onContextRestored(options) Parámetros:
Valor que se devuelve: 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 u objetos de búfer. |
onDraw |
onDraw(options) Parámetros:
Valor que se devuelve: Ninguno
Implementa este método para dibujar contenido de WebGL directamente en el mapa. Ten en cuenta que, si la superposición necesita que se dibuje un nuevo fotograma, llama a WebGLOverlayView.requestRedraw . |
onRemove |
onRemove() Parámetros: Ninguno
Valor que se devuelve: Ninguno
Se llama a este método cuando se quita la superposición del mapa con WebGLOverlayView.setMap(null) , y es donde debes quitar todos los objetos intermedios. Debes implementar este método para la renderización. |
onStateUpdate |
onStateUpdate(options) Parámetros:
Valor que se devuelve: Ninguno
Implementa este método para controlar las actualizaciones de estado de GL fuera del marco de animación de renderización. |
requestRedraw |
requestRedraw() Parámetros: Ninguno
Valor que se devuelve: Ninguno
Activa el mapa para volver a dibujar un marco. |
requestStateUpdate |
requestStateUpdate() Parámetros: Ninguno
Valor que se devuelve: Ninguno
Activa el mapa para actualizar el estado de GL. |
setMap |
setMap([map]) Parámetros:
Valor que se devuelve: Ninguno
Agrega la superposición al mapa. |
Heredado:
addListener ,
bindTo ,
get ,
notify ,
set ,
setValues ,
unbind ,
unbindAll
|
WebGLDrawOptions.
Interfaz de google.maps.WebGLDrawOptions
Opciones de dibujo.
Propiedades | |
---|---|
gl |
Tipo:
WebGLRenderingContext WebGLRenderingContext en el que se renderiza este WebGLOverlayView. |
transformer |
Tipo:
CoordinateTransformer Transformación de la matriz del espacio de la cámara a las coordenadas de latitud y longitud |
WebGLStateOptions
Interfaz de google.maps.WebGLStateOptions
Opciones de estado de GL.
Propiedades | |
---|---|
gl |
Tipo:
WebGLRenderingContext WebGLRenderingContext en el que se renderiza este WebGLOverlayView. |
CoordinateTransformer
Interfaz de google.maps.CoordinateTransformer
Esta interfaz proporciona métodos convenientes para generar matrices que se pueden usar en la renderización de 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 a WebGLOverlayView.onDraw
.
Métodos | |
---|---|
fromLatLngAltitude |
fromLatLngAltitude(latLngAltitude[, rotations, scale]) Parámetros:
Valor que se muestra: Es la matriz de MVP de
Float64Array para usar con WebGL. |
getCameraParams |
getCameraParams() Parámetros: Ninguno
Valor que se devuelve:
CameraParams parámetros de la cámara |
CameraParams
Interfaz de google.maps.CameraParams
Se usa para recuperar parámetros de la cámara, como la de la cámara GL que se usa para WebGLOverlayView
.
Esta interfaz extiende CameraOptions
.
Propiedades | |
---|---|
center |
Tipo:
LatLng |
heading |
Tipo:
number |
tilt |
Tipo:
number |
zoom |
Tipo:
number |