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.
Konstruktor | |
---|---|
WebGLOverlayView |
WebGLOverlayView() Parameter:Keine
Erstellt einen WebGLOverlayView . |
Methoden | |
---|---|
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:
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:
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:
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:
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
Attribute | |
---|---|
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.
Attribute | |
---|---|
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.
Methoden | |
---|---|
fromLatLngAltitude |
fromLatLngAltitude(latLngAltitude[, rotations, scale]) Parameter:
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
.
Attribute | |
---|---|
center |
Typ:
LatLng |
heading |
Typ:
number |
tilt |
Typ:
number |
zoom |
Typ:
number |