WebGL

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.onContextLostWebGLOverlayView.onRemove.

Aby wywołać metodę onAdd()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.

WebGLOverlayView
WebGLOverlayView()
Parametry: brak
Tworzy WebGLOverlayView.
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: 
  • optionsWebGLStateOptions, które umożliwiają programistom przywrócenie kontekstu GL.
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: 
  • optionsWebGLDrawOptions, które umożliwiają deweloperom renderowanie treści na powiązanej mapie bazowej Google.
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: 
  • optionsWebGLStateOptions, które umożliwiają deweloperom przywrócenie kontekstu GL.
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: 
  • mapMap optional Mapa umożliwiająca dostęp do elementu div, modelu i stanu widoku.
Zwracana wartość: brak
Dodaje nakładkę do mapy.
Odziedziczone: addListener, bindTo, get, notify, set, setValues, unbind, unbindAll

WebGLDrawOptions interfejs

google.maps.WebGLDrawOptionsinterfejs

Opcje rysowania.

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.WebGLStateOptionsinterfejs

Opcje stanu GL.

gl
WebGLRenderingContext, na którym ma być renderowany ten WebGLOverlayView.

Interfejs CoordinateTransformer

google.maps.CoordinateTransformerinterfejs

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.

fromLatLngAltitude
fromLatLngAltitude(latLngAltitude[, rotations, scale])
Parametry: 
  • latLngAltitudeLatLngAltitude|LatLngAltitudeLiteral szerokość i długość geograficzna oraz wysokość.
  • rotationsFloat32Array optional Tablica zawierająca kąt obrotu Eulera w stopniach, zgodnie z konwencją XYZ.
  • scaleFloat32Array optional tablica zawierająca tablicę skalarną XYZ do zastosowania na osi głównej.
Wartość zwracana:  Float64Array macierz MVP do użycia z WebGL.
getCameraParams
getCameraParams()
Parametry: brak
Zwracana wartość: parametry kamery CameraParams

CameraParams interfejs

google.maps.CameraParamsinterfejs

Służy do pobierania parametrów aparatu, np. aparatu GL używanego w WebGLOverlayView.

Ten interfejs rozszerza interfejs CameraOptions.

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