WebGL

Classe WebGLOverlayView

Classe google.maps.WebGLOverlayView

A visualização de sobreposição do WebGL fornece acesso direto ao mesmo contexto de renderização WebGL usado pela Plataforma Google Maps para renderizar o mapa básico vetorial. Esse uso de um contexto de renderização compartilhada oferece benefícios como oclusão de profundidade com geometria de construções em 3D e capacidade de sincronizar conteúdo 2D/3D com renderização de mapa básico.

Com a visualização de sobreposição do WebGL, você pode adicionar conteúdo diretamente aos seus mapas usando WebGL ou bibliotecas gráficas conhecidas, como o three.js ou o deck.gl. Para usar a sobreposição, você pode estender google.maps.WebGLOverlayView e fornecer uma implementação para cada um dos hooks de ciclo de vida a seguir: 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 do método onAdd(). Use 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 do mapa mudar, o que poderá mudar a posição do elemento, como o zoom, o centro ou o tipo de mapa. WebGLOverlayView só pode ser adicionado a um mapa vetorial com um MapOptions.mapId

Essa classe estende MVCObject.

WebGLOverlayView
WebGLOverlayView()
Parâmetros:nenhum
Crie um 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.
onContextLost
onContextLost()
Parâmetros: nenhum
Valor de retorno: nenhum
Esse método é chamado quando o contexto de renderização é perdido por qualquer motivo e é onde você precisa limpar qualquer estado GL preexistente, já que ele não é mais necessário.
onContextRestored
onContextRestored(options)
Parâmetros:
  • optionsWebGLStateOptions que permite que os desenvolvedores restaurem o contexto do GL.
Valor de retorno: nenhum
Esse método será chamado quando o contexto de renderização estiver disponível. Use esse recurso 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.
onStateUpdate
onStateUpdate(options)
Parâmetros:
  • optionsWebGLStateOptions que permite que os desenvolvedores restaurem o contexto do GL.
Valor de retorno:nenhum
Implemente esse método para processar atualizações de estado 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 div, o modelo e o estado da visualização.
Valor de retorno: nenhum
Adiciona a sobreposição ao mapa.
Herdados: addListener, bindTo, get, notify, set, setValues, unbind, unbindAll

Interface WebGLDrawOptions (link em inglês)

Interface google.maps.WebGLDrawOptions

Opções de desenho.

gl
O WebGLRenderContext em que você quer renderizar essa WebGLOverlayView.
transformer
A transformação da matriz do espaço da câmera em coordenadas de latitude/longitude.

Interface WebGLStateOptions

Interface google.maps.WebGLStateOptions

Opções de estado GL.

gl
O WebGLRenderContext em que você quer renderizar essa WebGLOverlayView.

Interface do CoordinateTransformer

Interface google.maps.CoordinateTransformer

Essa interface oferece métodos de conveniência para gerar matrizes a serem usadas para renderizar cenas WebGL sobre o mapa básico do Google.

Observação: uma referência a esse objeto não deve ser mantida fora do escopo da chamada de encapsulamento WebGLOverlayView.onDraw.

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: é a matriz Float32Array optional que contém uma matriz escalar XYZ para aplicar ao eixo cardinal.
Valor de retorno:Float64Array matriz de MVP a ser usada com o WebGL.
getCameraParams
getCameraParams()
Parâmetros:nenhum
Valor de retorno: CameraParams parâmetros da câmera

Interface 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