WebGL

Klasa WebGLOverlayView

google.maps.WebGLOverlayView klasa

Widok nakładki WebGL umożliwia bezpośredni dostęp do tego samego kontekstu renderowania WebGL, którego Google Maps Platform używa do renderowania mapy podstawowej wektorowej. Korzystanie z udostępnionego kontekstu renderowania daje takie korzyści jak głębokość przesłania z geometrią budynku 3D oraz możliwość synchronizowania treści 2D/3D z renderowaniem mapy bazowej.

Dzięki nakładce WebGL możesz dodawać do map treści bezpośrednio za pomocą WebGL lub popularnych bibliotek graficznych, takich jak Three.js lub tarasem.gl. Aby korzystać z nakładki, możesz rozszerzyć element google.maps.WebGLOverlayView i zaimplementować każdy z tych punktów końcowych cyklu życia: WebGLOverlayView.onAdd, WebGLOverlayView.onContextRestored, WebGLOverlayView.onDraw, WebGLOverlayView.onContextLost i WebGLOverlayView.onRemove.

Musisz wywołać metodę WebGLOverlayView.setMap z prawidłowym obiektem Map, aby wywołać metodę onAdd(), a setMap(null) – metodę onRemove(). Metoda setMap() może zostać wywołana w chwili tworzenia lub w dowolnym momencie po usunięciu nakładki, gdy powinna zostać wyświetlona ponownie. Metoda onDraw() jest wywoływana za każdym razem, gdy zmienia się właściwość mapy, która może spowodować zmianę położenia elementu, np. powiększenia, wyśrodkowania lub typu mapy. Element WebGLOverlayView można dodać tylko do mapy wektorowej, w której występuje właściwość MapOptions.mapId.

Te zajęcia rozciągają się do MVCObject.

Zadzwoń pod numer const {WebGLOverlayView} = await google.maps.importLibrary("maps"). Zobacz Biblioteki w interfejsie Maps JavaScript API.

WebGLOverlayView
WebGLOverlayView()
Parametry: brak
Tworzy WebGLOverlayView.
getMap
getMap()
Parametry: brak
Zwrócona wartość:  Map|null|undefined
onAdd
onAdd()
Parametry: brak
Zwróć wartość: brak
Zastosuj tę metodę, aby pobrać lub utworzyć pośrednie struktury danych przed narysowaniem nakładki, które nie wymagają natychmiastowego dostępu do kontekstu renderowania WebGL. Ta metoda musi być zaimplementowana w celu renderowania.
onContextLost
onContextLost()
Parametry: brak
Zwróć wartość: brak
Ta metoda jest wywoływana, gdy z dowolnego powodu brakuje kontekstu renderowania i należy wyczyścić dane istniejącego stanu GL, ponieważ nie jest już potrzebny.
onContextRestored
onContextRestored(options)
Parametry: 
  • optionsWebGLStateOptions, które pozwalają deweloperom przywrócić kontekst GL.
Zwróć wartość: brak
Ta metoda jest wywoływana po udostępnieniu kontekstu renderowania. Użyj go, aby zainicjować lub powiązać dowolny stan WebGL, na przykład narzędzia do cieniowania lub obiektów buforowania.
onDraw
onDraw(options)
Parametry: 
  • optionsWebGLDrawOptions – umożliwia deweloperom renderowanie treści na powiązanej mapie podstawowej Google.
Zwróć wartość: brak
Zaimplementuj tę metodę, aby wyświetlać treści WebGL bezpośrednio na mapie. Jeśli nakładka wymaga narysowania nowej ramki, wywołaj funkcję WebGLOverlayView.requestRedraw.
onRemove
onRemove()
Parametry: brak
Zwróć wartość: brak
Metoda jest wywoływana, gdy nakładka jest usuwana z mapy WebGLOverlayView.setMap(null). Tutaj należy usunąć wszystkie obiekty pośrednie. Ta metoda musi być zaimplementowana w celu renderowania.
onStateUpdate
onStateUpdate(options)
Parametry: 
  • optionsWebGLStateOptions, które pozwala deweloperom na przywrócenie kontekstu GL.
Zwróć wartość: brak
Zaimplementuj tę metodę w celu obsługi aktualizacji stanu GL poza ramką animacji.
requestRedraw
requestRedraw()
Parametry: brak
Zwróć wartość: brak
Wywołuje mapę, aby ponownie zaznaczyć ramkę.
requestStateUpdate
requestStateUpdate()
Parametry: brak
Zwróć wartość: brak
Wywołuje aktualizację stanu GGL.
setMap
setMap([map])
Parametry: 
  • mapMap optional mapa, która otwiera element div, model i stan widoku
Zwróć wartość: brak
Dodaje nakładkę do mapy.
Dziedziczone: addListener, bindTo, get, notify, set, setValues, unbind, unbindAll

Interfejs WebGLDrawOptions

google.maps.WebGLDrawOptions interfejs

Opcje rysowania.

gl
WebGL, która renderuje ten nakładka WebGL.
transformer
Przekształcenie macierzy z miejsca kamery na współrzędne geograficzne.

Interfejs WebGLStateOptions

google.maps.WebGLStateOptions interfejs

Opcje stanu GL.

gl
WebGL, która renderuje ten nakładka WebGL.

Interfejs CoordinateTransformer

google.maps.CoordinateTransformer interfejs

Ten interfejs oferuje wygodne metody generowania macierzy do renderowania scen WebGL na mapie podstawowej Google.

Uwaga: odniesienie do tego obiektu nie powinno być przechowywane poza zakresem otaczającego wywołania WebGLOverlayView.onDraw.

fromLatLngAltitude
fromLatLngAltitude(latLngAltitude[, rotations, scale])
Parametry: 
  • latLngAltitudeLatLngAltitude|LatLngAltitudeLiteral szerokość, długość i wysokość.
  • rotationsFloat32Array optional tablica zawierająca kąt obrotu Eulera w stopniach, zgodnie z konwencją XYZ.
  • scaleFloat32Array optional Tablica ze tablicą skalarną XYZ, która jest stosowana do osi kardynała.
Wartość zwrócona: macierz MVP Float64Array do użycia z WebGL.
getCameraParams
getCameraParams()
Parametry: brak
Zwrócona wartość:  CameraParams parametru aparatu

Interfejs kamery Interfejs

google.maps.CameraParams interfejs

Służy do pobierania parametrów kamery, takich jak kamera GL używana w WebGLOverlayView.

Ten interfejs rozszerza się do CameraOptions.

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