WebGL

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.

Acesse const {WebGLOverlayView} = await google.maps.importLibrary("maps") chamando. Consulte Bibliotecas na API Maps JavaScript.

WebGLOverlayView
WebGLOverlayView()
Parâmetros:nenhum
Cria uma WebGLOverlayView.
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:
  • optionsWebGLStateOptions que permitem que os desenvolvedores restaurem o contexto do GL.
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:
  • optionsWebGLDrawOptions que permite que os desenvolvedores renderizem conteúdo em um mapa básico associado do Google.
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:
  • optionsWebGLStateOptions que permite que os desenvolvedores restaurem o contexto de GL.
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:
  • mapMap optional o mapa para acessar o estado div, modelo e visualização.
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.

gl
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.

gl
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.

fromLatLngAltitude
fromLatLngAltitude(latLngAltitude[, rotations, scale])
Parâmetros:
  • latLngAltitudeLatLngAltitude|LatLngAltitudeLiteral Latitude, longitude e altitude.
  • rotationsFloat32Array optional uma matriz que contém um ângulo de rotação de Euler em graus na convenção XYZ.
  • scale:  matriz Float32Array optional que contém uma matriz escalar XYZ para aplicar ao eixo cardeal.
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.

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