Kelas 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 memberikan penerapan 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) guna memicu metode onRemove(). Metode setMap() dapat dipanggil pada saat konstruksi 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, tengah, 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.
Konstruktor | |
|---|---|
WebGLOverlayView | WebGLOverlayView()Parameter: Tidak ada Membuat WebGLOverlayView. |
Metode | |
|---|---|
getMap | getMap()Parameter: Tidak ada Nilai yang Ditampilkan: Map|null|undefined |
onAdd | onAdd()Parameter: Tidak ada Nilai yang Ditampilkan: Tidak Ada Terapkan metode ini untuk mengambil atau membuat struktur data perantara sebelum overlay digambar yang tidak memerlukan akses langsung ke konteks rendering WebGL. Metode ini harus diterapkan untuk merender. |
onContextLost | onContextLost()Parameter: Tidak ada Nilai yang Ditampilkan: Tidak Ada Metode ini dipanggil saat konteks proses rendering hilang karena alasan apa pun, dan merupakan tempat untuk menghapus status GL yang sudah ada karena tidak diperlukan lagi. |
onContextRestored | onContextRestored(options)Parameter:
Nilai yang Ditampilkan: Tidak Ada Metode ini dipanggil setelah konteks rendering tersedia. Gunakan untuk melakukan inisialisasi atau mengikat status WebGL seperti shader atau objek buffer. |
onDraw | onDraw(options)Parameter:
Nilai yang Ditampilkan: Tidak Ada Terapkan metode ini untuk menggambar konten WebGL langsung di peta. Perhatikan bahwa jika overlay memerlukan frame baru yang digambar, panggil WebGLOverlayView.requestRedraw. |
onRemove | onRemove()Parameter: Tidak ada Nilai yang Ditampilkan: 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 diterapkan untuk merender. |
onStateUpdate | onStateUpdate(options)Parameter:
Nilai yang Ditampilkan: Tidak Ada Terapkan metode ini untuk menangani update status GL di luar frame animasi render. |
requestRedraw | requestRedraw()Parameter: Tidak ada Nilai yang Ditampilkan: Tidak Ada Memicu peta untuk menggambar ulang frame. |
requestStateUpdate | requestStateUpdate()Parameter: Tidak ada Nilai yang Ditampilkan: Tidak Ada Memicu peta untuk memperbarui status GL. |
setMap | setMap([map])Parameter:
Nilai yang Ditampilkan: Tidak Ada Menambahkan overlay ke peta. |
Diwariskan: addListener, bindTo, get, notify, set, setValues, unbind, unbindAll | |
WebGLDrawOptions interface
google.maps.WebGLDrawOptions interface
Opsi gambar.
Properti | |
|---|---|
gl | Jenis: WebGLRenderingContextWebGLRenderingContext yang akan digunakan untuk merender WebGLOverlayView ini. |
transformer | Jenis: CoordinateTransformerTransformasi matriks dari ruang kamera ke koordinat garis lintang/bujur. |
WebGLStateOptions interface
google.maps.WebGLStateOptions interface
Opsi status GL.
Properti | |
|---|---|
gl | Jenis: WebGLRenderingContextWebGLRenderingContext yang akan digunakan untuk merender WebGLOverlayView ini. |
Antarmuka CoordinateTransformer
google.maps.CoordinateTransformer interface
Antarmuka ini menyediakan metode praktis untuk membuat matriks yang akan digunakan untuk merender adegan WebGL di atas peta dasar Google.
Catatan: Referensi ke objek ini tidak boleh ditahan di luar cakupan panggilan WebGLOverlayView.onDraw yang mencakupnya.
Metode | |
|---|---|
fromLatLngAltitude | fromLatLngAltitude(latLngAltitude[, rotations, scale])Parameter:
Nilai yang Ditampilkan: Matriks MVP Float64Array untuk digunakan dengan WebGL. |
getCameraParams | getCameraParams()Parameter: Tidak ada Nilai yang Ditampilkan: Parameter kamera CameraParams |
CameraParams interface
google.maps.CameraParams interface
Digunakan untuk mengambil parameter kamera, seperti kamera GL yang digunakan untuk WebGLOverlayView.
Antarmuka ini memperluas CameraOptions.
Properti | |
|---|---|
center | Jenis: LatLng |
heading | Jenis: number |
tilt | Jenis: number |
zoom | Jenis: number |