WebGLOverlayView class
google.maps.WebGLOverlayView
zajęcia
Widok nakładki WebGL zapewnia bezpośredni dostęp do tego samego kontekstu renderowania WebGL, którego platforma Map Google używa do renderowania wektorowej mapy bazowej. Użycie wspólnego kontekstu renderowania zapewnia korzyści, takie jak okluzja głębi z geometrią budynków 3D oraz możliwość synchronizacji treści 2D/3D z renderowaniem mapy bazowej.
Za pomocą widoku nakładki WebGL możesz dodawać treści do map bezpośrednio za pomocą WebGL lub popularnych bibliotek graficznych, takich jak Three.js czy deck.gl. Aby użyć nakładki, możesz rozszerzyć klasę google.maps.WebGLOverlayView
i zapewnić implementację każdego z tych punktów zaczepienia cyklu życia: WebGLOverlayView.onAdd
, WebGLOverlayView.onContextRestored
, WebGLOverlayView.onDraw
, WebGLOverlayView.onContextLost
i WebGLOverlayView.onRemove
.
Aby wywołać metodę onAdd()
i setMap(null)
, musisz wywołać metodę WebGLOverlayView.setMap
z prawidłowym obiektem Map
. Aby wywołać metodę onRemove()
, musisz wywołać metodę WebGLOverlayView.setMap
z prawidłowym obiektem Map
. Metodę setMap()
można wywołać w momencie tworzenia lub w dowolnym momencie później, gdy po usunięciu nakładki ma się ona ponownie wyświetlić. Metoda onDraw()
będzie wywoływana za każdym razem, gdy zmieni się właściwość mapy, która może wpłynąć na pozycję elementu, np. poziom powiększenia, środek lub typ mapy. Obiekt WebGLOverlayView można dodać tylko do mapy wektorowej z wartością MapOptions.mapId
(w tym do map ustawionych na RenderingType.VECTOR
MapOptions.renderingType
i używających Map.DEMO_MAP_ID
jako MapOptions.mapId
).
Ta klasa rozszerza klasę MVCObject
.
Dostęp przez połączenie pod numer const {WebGLOverlayView} = await google.maps.importLibrary("maps")
.
Zobacz Biblioteki w Maps JavaScript API.
Zespół | |
---|---|
WebGLOverlayView |
WebGLOverlayView() Parametry: brak
Tworzy WebGLOverlayView . |
Metody | |
---|---|
getMap |
getMap() Parametry: brak
Zwracana wartość:
Map|null|undefined |
onAdd |
onAdd() Parametry: brak
Zwracana wartość: brak
Zaimplementuj tę metodę, aby pobierać lub tworzyć struktury danych pośrednich przed narysowaniem nakładki, które nie wymagają natychmiastowego dostępu do kontekstu renderowania WebGL. Aby renderować, musisz zaimplementować tę metodę. |
onContextLost |
onContextLost() Parametry: brak
Zwracana wartość: brak
Ta metoda jest wywoływana, gdy kontekst renderowania zostanie utracony z dowolnego powodu. W tym miejscu należy wyczyścić wszelkie istniejące wcześniej stany GL, ponieważ nie są już potrzebne. |
onContextRestored |
onContextRestored(options) Parametry:
Zwracana wartość: brak
Ta metoda jest wywoływana, gdy kontekst renderowania jest dostępny. Używaj go do inicjowania lub wiązania dowolnego stanu WebGL, takiego jak shadery lub obiekty bufora. |
onDraw |
onDraw(options) Parametry:
Zwracana wartość: brak
Zaimplementuj tę metodę, aby rysować zawartość WebGL bezpośrednio na mapie. Pamiętaj, że jeśli nakładka wymaga narysowania nowej ramki, wywołaj funkcję WebGLOverlayView.requestRedraw . |
onRemove |
onRemove() Parametry: brak
Zwracana wartość: brak
Ta metoda jest wywoływana, gdy nakładka jest usuwana z mapy za pomocą WebGLOverlayView.setMap(null) . W tym miejscu należy usunąć wszystkie obiekty pośrednie. Aby renderować, musisz zaimplementować tę metodę. |
onStateUpdate |
onStateUpdate(options) Parametry:
Zwracana wartość: brak
Zaimplementuj tę metodę, aby obsługiwać wszelkie aktualizacje stanu GL poza ramką animacji renderowania. |
requestRedraw |
requestRedraw() Parametry: brak
Zwracana wartość: brak
Powoduje ponowne narysowanie ramki mapy. |
requestStateUpdate |
requestStateUpdate() Parametry: brak
Zwracana wartość: brak
Powoduje zaktualizowanie stanu GL mapy. |
setMap |
setMap([map]) Parametry:
Zwracana wartość: brak
Dodaje nakładkę do mapy. |
Odziedziczone:
addListener ,
bindTo ,
get ,
notify ,
set ,
setValues ,
unbind ,
unbindAll
|
WebGLDrawOptions interfejs
google.maps.WebGLDrawOptions
interfejs
Opcje rysowania.
Właściwości | |
---|---|
gl |
WebGLRenderingContext, na którym ma być renderowany ten WebGLOverlayView. |
transformer |
Macierz przekształcenia z przestrzeni kamery na współrzędne szerokości i długości geograficznej. |
WebGLStateOptions interfejs
google.maps.WebGLStateOptions
interfejs
Opcje stanu GL.
Właściwości | |
---|---|
gl |
WebGLRenderingContext, na którym ma być renderowany ten WebGLOverlayView. |
Interfejs CoordinateTransformer
google.maps.CoordinateTransformer
interfejs
Ten interfejs udostępnia wygodne metody generowania macierzy do renderowania scen WebGL na mapie bazowej Google.
Uwaga: odwołanie do tego obiektu nie powinno być przechowywane poza zakresem wywołania WebGLOverlayView.onDraw
.
Metody | |
---|---|
fromLatLngAltitude |
fromLatLngAltitude(latLngAltitude[, rotations, scale]) Parametry:
Wartość zwracana:
Float64Array macierz MVP do użycia z WebGL. |
getCameraParams |
getCameraParams() Parametry: brak
Zwracana wartość: parametry kamery
CameraParams |
CameraParams interfejs
google.maps.CameraParams
interfejs
Służy do pobierania parametrów aparatu, np. aparatu GL używanego w WebGLOverlayView
.
Ten interfejs rozszerza interfejs CameraOptions
.
Właściwości | |
---|---|
center |
Typ:
LatLng |
heading |
Typ:
number |
tilt |
Typ:
number |
zoom |
Typ:
number |