WebGL

Class WebGLOverlayView

Class google.maps.WebGLOverlayView

Tampilan Overlay WebGL memberikan akses langsung ke konteks proses rendering WebGL yang sama dengan yang digunakan Google Maps Platform untuk merender peta dasar vektor. Penggunaan konteks proses rendering bersama ini memberikan manfaat seperti oklusi kedalaman dengan geometri bangunan 3D, dan kemampuan untuk menyinkronkan konten 2D/3D dengan rendering peta dasar.

Dengan Tampilan Overlay WebGL, Anda dapat menambahkan konten ke peta secara langsung menggunakan WebGL, atau library Grafik populer seperti Three.js atau deck.gl. Untuk menggunakan overlay, Anda dapat memperluas google.maps.WebGLOverlayView dan menyediakan implementasi untuk setiap hook siklus proses berikut: WebGLOverlayView.onAdd, WebGLOverlayView.onContextRestored, WebGLOverlayView.onDraw, WebGLOverlayView.onContextLost, dan WebGLOverlayView.onRemove.

Anda harus memanggil WebGLOverlayView.setMap dengan objek Map yang valid untuk memicu panggilan ke metode onAdd() dan setMap(null) agar dapat memicu metode onRemove(). Metode setMap() dapat dipanggil pada saat pembuatan atau kapan saja setelahnya saat overlay harus ditampilkan kembali setelah dihapus. Metode onDraw() kemudian akan dipanggil setiap kali properti peta berubah yang dapat mengubah posisi elemen, seperti zoom, pusat, atau jenis peta. WebGLOverlayView hanya dapat ditambahkan ke peta vektor yang memiliki MapOptions.mapId (termasuk peta yang disetel ke RenderingType.VECTOR MapOptions.renderingType dan menggunakan Map.DEMO_MAP_ID sebagai MapOptions.mapId).

Class ini memperluas MVCObject.

Akses dengan memanggil const {WebGLOverlayView} = await google.maps.importLibrary("maps"). Lihat Library di Maps JavaScript API.

WebGLOverlayView
WebGLOverlayView()
Parameter: Tidak ada
Membuat WebGLOverlayView.
getMap
getMap()
Parameter: Tidak ada
Nilai Hasil:  Map|null|undefined
onAdd
onAdd()
Parameter: Tidak ada
Nilai Hasil: Tidak ada
Terapkan metode ini untuk mengambil atau membuat struktur data perantara sebelum overlay digambar yang tidak memerlukan akses langsung ke konteks proses rendering WebGL. Metode ini harus diimplementasikan untuk merender.
onContextLost
onContextLost()
Parameter: Tidak ada
Nilai Hasil: Tidak ada
Metode ini dipanggil saat konteks proses rendering hilang karena alasan apa pun, dan merupakan tempat untuk membersihkan status GL yang sudah ada karena tidak diperlukan lagi.
onContextRestored
onContextRestored(options)
Parameter: 
Nilai Hasil: Tidak ada
Metode ini dipanggil setelah konteks proses rendering tersedia. Gunakan untuk melakukan inisialisasi atau mengikat status WebGL seperti shader atau objek buffer.
onDraw
onDraw(options)
Parameter: 
  • optionsWebGLDrawOptions yang memungkinkan developer merender konten ke peta dasar Google yang terkait.
Nilai Hasil: Tidak ada
Implementasikan metode ini untuk menggambar konten WebGL langsung pada peta. Perhatikan bahwa jika overlay perlu menggambar frame baru, panggil WebGLOverlayView.requestRedraw.
onRemove
onRemove()
Parameter: Tidak ada
Nilai Hasil: Tidak ada
Metode ini dipanggil saat overlay dihapus dari peta dengan WebGLOverlayView.setMap(null), dan merupakan tempat untuk menghapus semua objek perantara. Metode ini harus diimplementasikan untuk merender.
onStateUpdate
onStateUpdate(options)
Parameter: 
Nilai Hasil: Tidak ada
Implementasikan metode ini untuk menangani update status GL di luar frame animasi render.
requestRedraw
requestRedraw()
Parameter: Tidak ada
Nilai Hasil: Tidak ada
Memicu peta untuk menggambar ulang frame.
requestStateUpdate
requestStateUpdate()
Parameter: Tidak ada
Nilai Hasil: Tidak ada
Memicu peta untuk memperbarui status GL.
setMap
setMap([map])
Parameter: 
  • mapMap optional Peta untuk mengakses status div, model, dan tampilan.
Nilai Hasil: Tidak ada
Menambahkan overlay ke peta.
Diwariskan: addListener, bindTo, get, notify, set, setValues, unbind, unbindAll

Antarmuka WebGLDrawOptions

Antarmuka google.maps.WebGLDrawOptions

Opsi gambar.

gl
WebGLRenderingContext tempat merender WebGLOverlayView ini.
transformer
Transformasi matriks dari ruang kamera ke koordinat lintang/bujur.

Antarmuka WebGLStateOptions

Antarmuka google.maps.WebGLStateOptions

Opsi status GL.

gl
WebGLRenderingContext tempat merender WebGLOverlayView ini.

Antarmuka CoordinateTransformer

Antarmuka google.maps.CoordinateTransformer

Antarmuka ini menyediakan metode praktis untuk menghasilkan matriks yang akan digunakan untuk merender scene WebGL di atas peta dasar Google.

Catatan: Referensi ke objek ini tidak boleh disimpan di luar cakupan panggilan WebGLOverlayView.onDraw yang dienkapsulasi.

fromLatLngAltitude
fromLatLngAltitude(latLngAltitude[, rotations, scale])
Parameter: 
  • latLngAltitudeLatLngAltitude|LatLngAltitudeLiteral Lintang, bujur, dan ketinggian.
  • rotationsFloat32Array optional Array yang berisi sudut rotasi Euler dalam derajat, dalam konvensi XYZ.
  • scaleFloat32Array optional Array yang berisi array skalar XYZ untuk diterapkan ke sumbu kardial.
Nilai Hasil: Matriks MVP Float64Array untuk digunakan dengan WebGL.
getCameraParams
getCameraParams()
Parameter: Tidak ada
Nilai Hasil:  CameraParams parameter kamera

Antarmuka CameraParams

Antarmuka google.maps.CameraParams

Digunakan untuk mengambil parameter kamera, seperti kamera GL yang digunakan untuk WebGLOverlayView.

Antarmuka ini memperluas CameraOptions.

center
Jenis:  LatLng
heading
Jenis:  number
tilt
Jenis:  number
zoom
Jenis:  number