WebGL

klasa WebGLOverlayView,

google.maps.WebGLOverlayView class

Widok nakładki WebGL zapewnia bezpośredni dostęp do tego samego kontekstu renderowania WebGL, którego używa platforma Mapy Google do renderowania wektorowej mapy bazowej. Takie wykorzystanie wspólnego kontekstu renderowania zapewnia korzyści takie jak zaciemnianie głębi w geometrii 3D budynku oraz możliwość synchronizowania treści 2D/3D z renderowaniem mapy bazowej.

Za pomocą widoku nakładki WebGL możesz dodawać treści do map, korzystając bezpośrednio z 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 zaimplementować każdy z tych elementów cyklu życia: WebGLOverlayView.onAdd, WebGLOverlayView.onContextRestored, WebGLOverlayView.onDraw, WebGLOverlayView.onContextLostWebGLOverlayView.onRemove.

Aby wywołać metodę onAdd(), musisz wywołać metodę WebGLOverlayView.setMap z prawidłowym obiektem Map, a aby wywołać metodę onRemove(), musisz wywołać metodę setMap(null). Metodę setMap() można wywołać w momencie tworzenia lub w dowolnym momencie później, gdy nakładka powinna zostać ponownie wyświetlona po usunięciu. Metoda onDraw() zostanie wywołana, gdy zmieni się właściwość mapy, która może zmienić pozycję elementu, np. powiększenie, położenie środka lub typ mapy. Widok WebGLOverlay można dodać tylko do mapy wektorowej, która ma MapOptions.mapId (w tym mapy ustawione na RenderingType.VECTOR MapOptions.renderingType i korzystające z Map.DEMO_MAP_ID jako MapOptions.mapId).

Te zajęcia trwają MVCObject.

Dostęp przez połączenie telefoniczne const {WebGLOverlayView} = await google.maps.importLibrary("maps"). Zobacz Biblioteki w Maps JavaScript API.

WebGLOverlayView
WebGLOverlayView()
Parametry: brak
Tworzy WebGLOverlayView.
getMap
getMap()
Parametry: brak
Wartość zwracana:  Map|null|undefined
onAdd
onAdd()
Parametry: brak
Zwracana wartość:  brak
Za pomocą tej metody możesz pobrać lub utworzyć pośrednie struktury danych przed narysowaniem nakładki, które nie wymagają bezpośredniego 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 tej metodzie należy wyczyścić stan GL, ponieważ nie jest on już potrzebny.
onContextRestored
onContextRestored(options)
Parametry: 
  • optionsWebGLStateOptions, które umożliwiają deweloperom przywracanie 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, np. shaderów lub obiektów 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 nowego kadru, 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 przywracanie kontekstu GL.
Zwracana wartość:  brak
Zastosuj tę metodę, aby obsługiwać wszelkie aktualizacje stanu GL poza ramką renderowania animacji.
requestRedraw
requestRedraw()
Parametry: brak
Zwracana wartość:  brak
Spowoduje, że mapa ponownie narysuje ramkę.
requestStateUpdate
requestStateUpdate()
Parametry: brak
Zwracana wartość:  brak
Wyzwala aktualizację stanu GL.
setMap
setMap([map])
Parametry: 
  • mapMap optional Mapa umożliwiająca dostęp do div, modelu i stanu widoku.
Zwracana wartość:  brak
Dodaje na mapie nakładkę.
Uzyskane: addListener, bindTo, get, notify, set, setValues, unbind, unbindAll

interfejs WebGLDrawOptions

google.maps.WebGLDrawOptionsinterfejs

Opcje rysowania.

gl
WebGLRenderingContext, w którym ma być renderowany ten obiekt WebGLOverlayView.
transformer
Transformacja macierzy z przestrzeni kamery na współrzędne szerokości i długości geograficznej.

interfejs WebGLStateOptions

google.maps.WebGLStateOptionsinterfejs

Opcje stanu GL.

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

Interfejs CoordinateTransformer

google.maps.CoordinateTransformerinterfejs

Ten interfejs udostępnia wygodne metody generowania macierzy do stosowania podczas renderowania scen WebGL na mapie bazowej Google.

Uwaga: odwołania do tego obiektu nie powinny być przechowywane poza zakresem wywołania WebGLOverlayView.onDraw.

fromLatLngAltitude
fromLatLngAltitude(latLngAltitude[, rotations, scale])
Parametry: 
  • latLngAltitudeLatLngAltitude|LatLngAltitudeLiteral szerokość geograficzna, długość geograficzna i wysokość.
  • rotationsFloat32Array optional Tablica zawierająca kąt obrotu Eulera w stopniach według konwencji XYZ.
  • scaleFloat32Array optional tablica zawierająca tablicę skalarną XYZ, która ma być stosowana do osi głównej.
Wartość zwracana:  Float64Array tablica MVP do użycia z WebGL.
getCameraParams
getCameraParams()
Parametry: brak
Zwracana wartość:  CameraParams parametry aparatu

Interfejs CameraParams

google.maps.CameraParamsinterfejs

Służy do pobierania parametrów aparatu, takich jak parametry aparatu GL używanego w przypadku WebGLOverlayView.

Ten interfejs rozszerza CameraOptions.

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