WebGL

Klasa WebGLOverlayView

google.maps.WebGLOverlayView zajęcia

Widok nakładki WebGL umożliwia bezpośredni dostęp do tego samego kontekstu renderowania WebGL, który jest używany przez Google Maps Platform do renderowania wektorowej mapy bazowej. Użycie wspólnego kontekstu renderowania przynosi takie korzyści jak przesłonięcie głębi dzięki geometrii budynku 3D oraz możliwość synchronizowania treści 2D i 3D z renderowaniem mapy bazowej.

Dzięki widokowi nakładania WebGL możesz bezpośrednio dodawać treści do swoich map za pomocą WebGL lub popularnych bibliotek graficznych takich jak Three.js lub Tayl.gl. Aby korzystać z nakładki, możesz rozszerzyć google.maps.WebGLOverlayView i udostępnić implementację dla każdego z tych punktów zaczepienia cyklu życia: WebGLOverlayView.onAdd, WebGLOverlayView.onContextRestored, WebGLOverlayView.onDraw, WebGLOverlayView.onContextLost i WebGLOverlayView.onRemove.

Musisz wywołać metodę WebGLOverlayView.setMap z prawidłowym obiektem Map, by wywołać metodę onAdd() i setMap(null) w celu aktywowania metody onRemove(). Metoda setMap() może zostać wywołana podczas tworzenia nakładki lub w dowolnym momencie po jej usunięciu, gdy trzeba będzie ponownie wyświetlić nakładkę. Metoda onDraw() będzie wtedy wywoływana za każdym razem, gdy zmieni się właściwość mapy, która może zmienić pozycję elementu (np. powiększenie, wyśrodkowanie lub typ mapy). WebGLOverlayView można dodać tylko do mapy wektorowej z elementem MapOptions.mapId (obejmuje to mapy ustawione na RenderingType.VECTOR MapOptions.renderingType i użycie Map.DEMO_MAP_ID jako MapOptions.mapId).

Te zajęcia są rozszerzone na MVCObject.

Aby uzyskać dostęp, 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
Wartość zwrotu:  Map|null|undefined
onAdd
onAdd()
Parametry: brak
Zwracana wartość: brak
Zaimplementuj 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. Tę metodę należy zaimplementować, by renderować.
onContextLost
onContextLost()
Parametry: brak
Zwracana wartość: brak
Ta metoda jest wywoływana, gdy kontekst renderowania zostanie z jakiegoś powodu utracony. Tutaj należy wyczyścić wcześniej istniejący stan GL, ponieważ nie jest już potrzebny.
onContextRestored
onContextRestored(options)
Parametry: 
  • optionsWebGLStateOptions, które umożliwiają deweloperom przywrócenie kontekstu GL.
Zwracana wartość: brak
Metoda ta jest wywoływana, gdy dostępny będzie kontekst renderowania. Służy on do zainicjowania lub powiązania dowolnego stanu WebGL, np. cieniowania lub obiektów bufora.
onDraw
onDraw(options)
Parametry: 
  • optionsWebGLDrawOptions, które umożliwiają programistom renderowanie treści na powiązanej mapie bazowej Google.
Zwracana wartość: brak
Użyj tej metody, aby rysować zawartość WebGL bezpośrednio na mapie. Pamiętaj, że jeśli nakładka wymaga narysowania nowej ramki, wywołaj metodę WebGLOverlayView.requestRedraw.
onRemove
onRemove()
Parametry: brak
Zwracana wartość: brak
Ta metoda jest wywoływana, gdy nakładka zostanie usunięta z mapy za pomocą WebGLOverlayView.setMap(null) i to w niej należy usunąć wszystkie obiekty pośrednie. Tę metodę należy zaimplementować, by renderować.
onStateUpdate
onStateUpdate(options)
Parametry: 
  • optionsWebGLStateOptions, które umożliwiają programistom przywrócenie kontekstu GL.
Zwracana wartość: brak
Zaimplementuj tę metodę, aby obsługiwać wszelkie aktualizacje stanu GGL poza ramką animacji renderowania.
requestRedraw
requestRedraw()
Parametry: brak
Zwracana wartość: brak
Wyzwala mapę, aby ponownie narysować ramkę.
requestStateUpdate
requestStateUpdate()
Parametry: brak
Zwracana wartość: brak
Aktywuje mapę, aby zaktualizować stan GL.
setMap
setMap([map])
Parametry: 
  • mapMap optional Mapa umożliwiająca dostęp do elementów div, modelu i stanu widoku.
Zwracana 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
WebGLRenderingContext, w którym ma być renderowany ten WebGLOverlayView.
transformer
Transformacja macierzy z przestrzeni aparatu na współrzędne szerokości i długości geograficznej.

Interfejs WebGLStateOptions

google.maps.WebGLStateOptions interfejs

Opcje stanu GL.

gl
WebGLRenderingContext, w 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 bazie mapy podstawowej Google.

Uwaga: odwołanie do tego obiektu nie powinno wykraczać poza zakres wywołania WebGLOverlayView.onDraw.

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

Interfejs CameraParams

google.maps.CameraParams interfejs

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

Ten interfejs rozszerza zakres CameraOptions.

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