WebGL

WebGLOverlayView-Klasse

google.maps.WebGLOverlayView-Klasse

Die WebGL Overlay View bietet direkten Zugriff auf denselben WebGL-Renderingkontext, den die Google Maps Platform zum Rendern der Vektorbasiskarte verwendet. Die Verwendung eines gemeinsam genutzten Rendering-Kontexts bietet Vorteile wie Tiefenverdeckung mit 3D-Gebäudegeometrie und die Möglichkeit, 2D-/3D-Inhalte mit dem Rendering der Basiskarte zu synchronisieren.

Mit der WebGL Overlay View-Funktion können Sie Ihren Karten Inhalte direkt über WebGL oder beliebte Grafikbibliotheken wie Three.js oder deck.gl hinzufügen. 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.

Sie müssen WebGLOverlayView.setMap mit einem gültigen Map-Objekt aufrufen, um den Aufruf der Methode onAdd() und der Methode setMap(null) auszulösen, damit die Methode onRemove() ausgelöst wird. Die Methode setMap() kann beim Erstellen oder zu einem späteren Zeitpunkt 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 einer Vektorkarte mit MapOptions.mapId hinzugefügt werden.

Diese Klasse erweitert MVCObject.

Zugriff durch Aufrufen von const {WebGLOverlayView} = await google.maps.importLibrary("maps"). 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 gezeichnet wird, die keinen sofortigen Zugriff auf den WebGL-Renderingkontext erfordern. Diese Methode muss zum Rendern implementiert werden.
onContextLost
onContextLost()
Parameter:Keine
Rückgabewert:Keine
Diese Methode wird aufgerufen, wenn der Rendering-Kontext aus irgendeinem Grund verloren geht. Dort sollten Sie den vorhandenen GL-Status bereinigen, da er nicht mehr benötigt wird.
onContextRestored
onContextRestored(options)
Parameter:
  • optionsWebGLStateOptions, mit denen Entwickler den GL-Kontext wiederherstellen können.
Rückgabewert:Keine
Diese Methode wird aufgerufen, sobald der Rendering-Kontext verfügbar ist. Sie können damit einen WebGL-Status 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) aus der Karte entfernt wird. Hier sollten Sie alle dazwischen liegenden Objekte 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-Statusaktualisierungen außerhalb des Rendering-Animationsframes zu verarbeiten.
requestRedraw
requestRedraw()
Parameter:Keine
Rückgabewert:Keine
Löst die Karte aus, um einen Frame neu zu zeichnen.
requestStateUpdate
requestStateUpdate()
Parameter:Keine
Rückgabewert:Keine
Löst die Karte aus, um den GL-Status zu aktualisieren.
setMap
setMap([map])
Parameter:
  • mapMap optional Die Karte für den Zugriff auf den Div-, Modell- und Ansichtsstatus.
Rückgabewert:Keine
Fügt den Overlay zur Karte hinzu.
Übernommen: addListener, bindTo, get, notify, set, setValues, unbind, unbindAll

WebGLDrawOptions

google.maps.WebGLDrawOptions-Schnittstelle

Zeichnungsoptionen

gl
Der WebGLRenderingContext, in dem diese WebGLOverlayView gerendert werden soll.
transformer
Die Matrixtransformation vom Kamerabereich zu Breitengrad/Längengrad-Koordinaten.

WebGLStateOptions

google.maps.WebGLStateOptions-Schnittstelle

GL-Statusoptionen.

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

CoordinateTransformer

google.maps.CoordinateTransformer-Schnittstelle

Diese Oberfläche bietet praktische Methoden zum Generieren von Matrizen zum Rendern von WebGL-Szenen auf der Google-Basiskarte.

Hinweis: Ein Verweis auf dieses Objekt sollte nicht außerhalb des Bereichs des einschließenden WebGLOverlayView.onDraw-Aufrufs aufbewahrt werden.

fromLatLngAltitude
fromLatLngAltitude(latLngAltitude[, rotations, scale])
Parameter:
  • latLngAltitudeLatLngAltitude|LatLngAltitudeLiteral Breitengrad, Längengrad und Höhe
  • rotationsFloat32Array optional Ein Array, das in der Konvention XYZ einen Euler-Rotationswinkel in Grad enthält.
  • scaleFloat32Array optional-Array, das ein skalares XYZ-Array 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, z. B. der GL-Kamera, die für WebGLOverlayView verwendet wird.

Diese Schnittstelle erweitert CameraOptions.

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