WebGLOverlayView
Classe
google.maps.WebGLOverlayView
A visualização de sobreposição do WebGL oferece acesso direto ao mesmo contexto de renderização WebGL que a Plataforma Google Maps usa para renderizar o mapa básico vetorial. O uso de um contexto de renderização compartilhada oferece benefícios como a oclusão de profundidade com geometria de construções em 3D e a capacidade de sincronizar conteúdo 2D/3D com a renderização de mapa básico.
Com a WebGL Overlay View, é possível adicionar conteúdo diretamente aos mapas usando o WebGL ou bibliotecas gráficas conhecidas, como three.js ou deck.gl. Para usar a sobreposição, estenda google.maps.WebGLOverlayView
e forneça uma implementação para cada um dos seguintes hooks de ciclo de vida: WebGLOverlayView.onAdd
, WebGLOverlayView.onContextRestored
, WebGLOverlayView.onDraw
, WebGLOverlayView.onContextLost
e WebGLOverlayView.onRemove
.
Você precisa chamar WebGLOverlayView.setMap
com um objeto Map
válido para acionar a chamada para o método onAdd()
e setMap(null)
para acionar o método onRemove()
. O método setMap()
pode ser chamado no momento da construção ou a qualquer momento depois que a sobreposição for exibida novamente após a remoção. O método onDraw()
será chamado sempre que uma propriedade de mapa mudar, o que pode mudar a posição do elemento, como zoom, centro ou tipo de mapa. WebGLOverlayView só pode ser adicionado a um mapa vetorial com MapOptions.mapId
.
Essa classe estende
MVCObject
.
Ao usar v=beta
, é possível chamar const {WebGLOverlayView} = await google.map.importLibrary("maps")
. Consulte Bibliotecas na API Maps JavaScript.
Construtor | |
---|---|
WebGLOverlayView |
WebGLOverlayView() Parâmetros: nenhum
Cria uma WebGLOverlayView . |
Métodos | |
---|---|
getMap |
getMap() Parâmetros:nenhum
Valor de retorno:
Map|null|undefined |
onAdd |
onAdd() Parâmetros: nenhum
Valor de retorno: nenhum
Implemente esse método para buscar ou criar estruturas de dados intermediárias antes da sobreposição da sobreposição que não exigem acesso imediato ao contexto de renderização WebGL. Esse método precisa ser implementado para renderizar. |
onContextLost |
onContextLost() Parâmetros:nenhum
Valor de retorno: nenhum
Esse método é chamado quando o contexto de renderização é perdido por qualquer motivo e é o local em que você precisa limpar qualquer estado GL preexistente, já que ele não é mais necessário. |
onContextRestored |
onContextRestored(options) Parâmetros:
Valor de retorno: nenhum
Esse método é chamado quando o contexto de renderização está disponível. Use-o para inicializar ou vincular qualquer estado WebGL, como sombreadores ou objetos de buffer. |
onDraw |
onDraw(options) Parâmetros:
Valor de retorno: nenhum
Implemente esse método para desenhar conteúdo WebGL diretamente no mapa. Se a sobreposição precisar de um novo frame desenhado, chame WebGLOverlayView.requestRedraw . |
onRemove |
onRemove() Parâmetros:nenhum
Valor de retorno: nenhum
Esse método é chamado quando a sobreposição é removida do mapa com WebGLOverlayView.setMap(null) e é onde você precisa remover todos os objetos intermediários. Esse método precisa ser implementado para renderizar. |
onStateUpdate |
onStateUpdate(options) Parâmetros:
Valor de retorno: nenhum
Implemente esse método para processar qualquer atualização de estado do GL fora do frame da animação de renderização. |
requestRedraw |
requestRedraw() Parâmetros: nenhum
Valor de retorno: nenhum
Aciona o mapa para redesenhar um frame. |
requestStateUpdate |
requestStateUpdate() Parâmetros: nenhum
Valor de retorno: nenhum
Aciona o mapa para atualizar o estado do GL. |
setMap |
setMap([map]) Parâmetros:
Valor de retorno: nenhum
Adiciona a sobreposição ao mapa. |
Herdadas:
addListener ,
bindTo ,
get ,
notify ,
set ,
setValues ,
unbind ,
unbindAll
|
Interface WebGLDrawOptions
Interface google.maps.WebGLDrawOptions
Opções de desenho.
Propriedades | |
---|---|
gl |
Tipo:
WebGLRenderingContext O WebGLRenderContext em que a WebGLOverlayView será renderizada. |
transformer |
A transformação de matriz do espaço da câmera para coordenadas de latitude/longitude. |
Interface WebGLStateOptions
Interface google.maps.WebGLStateOptions
Opções de estado GL.
Propriedades | |
---|---|
gl |
Tipo:
WebGLRenderingContext O WebGLRenderContext em que a WebGLOverlayView será renderizada. |
Interface CoordinateTransformer
Interface google.maps.CoordinateTransformer
Essa interface fornece métodos convenientes para gerar matrizes a serem usadas para renderizar cenas WebGL no mapa básico do Google.
Observação: uma referência a esse objeto não deve ser mantida fora do escopo da chamada WebGLOverlayView.onDraw
de encapsulamento.
Métodos | |
---|---|
fromLatLngAltitude |
fromLatLngAltitude(latLngAltitude[, rotations, scale]) Parâmetros:
Valor de retorno:matriz de MVP
Float64Array a ser usada com o WebGL. |
getCameraParams |
getCameraParams() Parâmetros:nenhum
Valor de retorno:
CameraParams parâmetros da câmera |
CameraParams.
Interface google.maps.CameraParams
Usado para recuperar parâmetros da câmera, como o da câmera GL usada para WebGLOverlayView
.
Essa interface estende
CameraOptions
.
Propriedades | |
---|---|
center |
Tipo:
LatLng |
heading |
Tipo:
number |
tilt |
Tipo:
number |
zoom |
Tipo:
number |