WebGL

WebGLOverlayView-Klasse

google.maps.WebGLOverlayView Klasse

WebGL Overlay View bietet direkten Zugriff auf denselben WebGL-Kontext, den die Google Maps Platform zum Rendern der Vektorbasiskarte verwendet. Die Verwendung eines gemeinsamen Renderingkontexts bietet Vorteile wie Tiefenverdeckung durch 3D-Gebäudegeometrie und die Möglichkeit, 2D-/3D-Inhalte mit Basiskartenrendering zu synchronisieren.

Mit WebGL Overlay View können Sie Ihren Karten Inhalte hinzufügen, entweder direkt über WebGL oder gängige Grafikbibliotheken wie Three.js oder deck.gl. Wenn Sie das Overlay verwenden möchten, können Sie google.maps.WebGLOverlayView erweitern und eine Implementierung für jeden der folgenden Lebenszyklus-Hooks bereitstellen: WebGLOverlayView.onAdd, WebGLOverlayView.onContextRestored, WebGLOverlayView.onDraw, WebGLOverlayView.onContextLost und WebGLOverlayView.onRemove.

Du musst WebGLOverlayView.setMap mit einem gültigen Map-Objekt aufrufen, um den Aufruf der onAdd()-Methode und setMap(null), um die onRemove()-Methode auszulösen. Die Methode setMap() kann bei der Erstellung oder jederzeit danach aufgerufen werden, wenn das Overlay nach dem Entfernen wieder angezeigt werden soll. Die Methode onDraw() wird dann immer dann aufgerufen, wenn sich eine Karteneigenschaft ändert, die die Position des Elements ändern könnte, z. B. Zoom, Mittelpunkt oder Kartentyp. WebGLOverlayView kann nur zu Vektorkarten mit MapOptions.mapId hinzugefügt werden.

Diese Klasse erweitert MVCObject.

Zugriff über const {WebGLOverlayView} = await google.maps.importLibrary("maps") aufrufen. Weitere Informationen finden Sie unter Bibliotheken in der Maps JavaScript API.

WebGLOverlayView
WebGLOverlayView()
Parameter:Keine
Erstellt einen WebGLOverlayView.
getMap
getMap()
Parameter:Keine
Rückgabewert:  Map|null|undefined
onAdd
onAdd()
Parameter:Keine
Rückgabewert:Keine
Implementieren Sie diese Methode, um Zwischendatenstrukturen abzurufen oder zu erstellen, bevor das Overlay erstellt wird und die keinen sofortigen Zugriff auf den WebGL-Renderingkontext benötigen. Diese Methode muss zum Rendern implementiert werden.
onContextLost
onContextLost()
Parameter:Keine
Rückgabewert:Keine
Diese Methode wird aufgerufen, wenn der Renderingkontext aus irgendeinem Grund verloren geht. Hier sollten Sie alle vorhandenen GL-Zustände bereinigen, da sie nicht mehr benötigt werden.
onContextRestored
onContextRestored(options)
Parameter:
  • optionsWebGLStateOptions, mit denen Entwickler den GL-Kontext wiederherstellen können.
Rückgabewert:Keine
Diese Methode wird aufgerufen, sobald der Renderingkontext verfügbar ist. Damit können Sie einen WebGL-Zustand wie Shader oder Pufferobjekte initialisieren oder binden.
onDraw
onDraw(options)
Parameter:
  • optionsWebGLDrawOptions, mit denen Entwickler Inhalte auf einer verknüpften Google-Basiskarte rendern können.
Rückgabewert:Keine
Implementieren Sie diese Methode, um WebGL-Inhalte direkt auf der Karte zu zeichnen. Wenn für das Overlay ein neuer Frame gezeichnet werden muss, rufen Sie WebGLOverlayView.requestRedraw auf.
onRemove
onRemove()
Parameter:Keine
Rückgabewert:Keine
Diese Methode wird aufgerufen, wenn das Overlay mit WebGLOverlayView.setMap(null) von der Karte entfernt wird. Hier sollten Sie alle Zwischenobjekte entfernen. Diese Methode muss zum Rendern implementiert werden.
onStateUpdate
onStateUpdate(options)
Parameter:
  • optionsWebGLStateOptions, mit denen Entwickler den GL-Kontext wiederherstellen können.
Rückgabewert:Keine
Implementieren Sie diese Methode, um alle GL-Zustandsaktualisierungen außerhalb des Frames für die Rendering-Animation zu verarbeiten.
requestRedraw
requestRedraw()
Parameter:Keine
Rückgabewert:Keine
Löst die Karte aus, einen Frame neu zu zeichnen.
requestStateUpdate
requestStateUpdate()
Parameter:Keine
Rückgabewert:Keine
Löst die Karte aus, um den GL-Zustand zu aktualisieren.
setMap
setMap([map])
Parameter:
  • mapMap optional Die Karte für den Zugriff auf das div-Element, das Modell und den Ansichtsstatus.
Rückgabewert:Keine
Fügt den Overlay zur Karte hinzu.
Übernommen: addListener, bindTo, get, notify, set, setValues, unbind, unbindAll

WebGLDrawOptions-Schnittstelle

google.maps.WebGLDrawOptions-Schnittstelle

Zeichnungsoptionen.

gl
Der WebGLRenderingContext, in dem diese WebGLOverlayView gerendert werden soll.
transformer
Matrixtransformation vom Kameraraum in Breiten- und Längengradkoordinaten.

WebGLStateOptions-Schnittstelle

google.maps.WebGLStateOptions-Schnittstelle

GL-Zustandsoptionen.

gl
Der WebGLRenderingContext, in dem diese WebGLOverlayView gerendert werden soll.

CoordinateTransformer-Oberfläche

google.maps.CoordinateTransformer-Schnittstelle

Diese Schnittstelle bietet praktische Methoden zum Generieren von Matrizen für das Rendern von WebGL-Szenen über der Google-Basiskarte.

Hinweis: Ein Verweis auf dieses Objekt darf nicht außerhalb des Umfangs des einschließenden WebGLOverlayView.onDraw-Aufrufs enthalten sein.

fromLatLngAltitude
fromLatLngAltitude(latLngAltitude[, rotations, scale])
Parameter:
  • latLngAltitudeLatLngAltitude|LatLngAltitudeLiteral Breitengrad, Längengrad und Höhe
  • rotationsFloat32Array optional Ein Array, das eine Euler-Drehung in Grad gemäß der XYZ-Konvention enthält.
  • scaleFloat32Array optional Array, das ein skalares Array XYZ enthält, das auf die Kardinalachse angewendet werden soll.
Rückgabewert:Float64Array MVP-Matrix zur Verwendung mit WebGL
getCameraParams
getCameraParams()
Parameter:Keine
Rückgabewert:CameraParams Kameraparameter

CameraParams-Schnittstelle

google.maps.CameraParams-Schnittstelle

Wird zum Abrufen von Kameraparametern verwendet, z. B. der GL-Kamera für WebGLOverlayView.

Diese Schnittstelle erweitert CameraOptions.

center
Typ:LatLng
heading
Typ:number
tilt
Typ:number
zoom
Typ:number