Class OverlayView
google.maps.OverlayView
class
extends MVCObject
library "maps", "streetView"
Anda dapat mengimplementasikan class ini jika ingin menampilkan jenis objek overlay kustom di peta.
Mewarisi dari class ini dengan menetapkan prototipe overlay Anda: MyOverlay.prototype = new google.maps.OverlayView();. Konstruktor OverlayView dijamin merupakan fungsi kosong.
Anda harus menerapkan tiga metode: onAdd(), draw(), dan onRemove().
- Dalam metode
onAdd(), Anda harus membuat objek DOM dan menambahkannya sebagai turunan panel. - Dalam metode
draw(), Anda harus memosisikan elemen-elemen ini. - Dalam metode
onRemove(), Anda harus menghapus objek dari DOM.
setMap() dengan objek Map yang valid untuk memicu panggilan ke metode onAdd() dan setMap(null) untuk memicu metode onRemove(). Metode setMap() dapat dipanggil pada saat pembuatan atau kapan saja setelahnya saat overlay harus ditampilkan kembali setelah dihapus. Metode draw() kemudian akan dipanggil setiap kali properti peta berubah yang dapat mengubah posisi elemen, seperti zoom, pusat, atau jenis peta.
const {OverlayView} = await google.maps.importLibrary("maps");
const {OverlayView} = await google.maps.importLibrary("streetView");
Konstruktor | |
|---|---|
OverlayView |
OverlayView()Parameter: Tidak ada
Membuat OverlayView. |
Metode Statis | |
|---|---|
preventMapHitsAndGesturesFrom |
preventMapHitsAndGesturesFrom(element)Parameter:
Nilai Hasil: Tidak ada
Menghentikan peristiwa klik, ketuk, tarik, dan roda pada elemen agar tidak muncul ke peta. Gunakan ini untuk mencegah penyeretan dan zoom peta, serta peristiwa "klik" peta. |
preventMapHitsFrom |
preventMapHitsFrom(element)Parameter:
Nilai Hasil: Tidak ada
Menghentikan klik atau ketukan pada elemen agar tidak muncul di peta. Gunakan ini untuk mencegah peta memicu peristiwa "klik". |
Metode | |
|---|---|
draw |
draw()Parameter: Tidak ada
Nilai Hasil:
voidTerapkan metode ini untuk menggambar atau memperbarui overlay. Gunakan posisi dari projection.fromLatLngToDivPixel() untuk memosisikan overlay dengan benar sesuai MapPanes. Metode ini dipanggil setelah onAdd(), dan dipanggil saat zoom atau pusat berubah. Sebaiknya jangan melakukan pekerjaan yang memerlukan komputasi berat dalam metode ini. |
getMap |
getMap()Parameter: Tidak ada
Nilai Hasil:
Map|StreetViewPanorama |
getPanes |
getPanes()Parameter: Tidak ada
Nilai Hasil:
MapPanes|nullMenampilkan panel tempat OverlayView ini dapat dirender. Panel tidak diinisialisasi hingga onAdd dipanggil oleh API. |
getProjection |
getProjection()Parameter: Tidak ada
Nilai Hasil:
MapCanvasProjectionMenampilkan objek MapCanvasProjection yang terkait dengan OverlayView ini. Proyeksi tidak diinisialisasi hingga onAdd dipanggil oleh API. |
onAdd |
onAdd()Parameter: Tidak ada
Nilai Hasil:
voidTerapkan metode ini untuk melakukan inisialisasi elemen DOM overlay. Metode ini dipanggil sekali setelah setMap() dipanggil dengan peta yang valid. Pada tahap ini, panel dan proyeksi akan diinisialisasi. |
onRemove |
onRemove()Parameter: Tidak ada
Nilai Hasil:
voidTerapkan metode ini untuk menghapus elemen Anda dari DOM. Metode ini dipanggil sekali setelah panggilan ke setMap(null). |
setMap |
setMap(map)Parameter:
Nilai Hasil: Tidak ada
Menambahkan overlay ke peta atau panorama. |
Diwarisi:
addListener,
bindTo,
get,
notify,
set,
setValues,
unbind,
unbindAll
| |
Antarmuka MapPanes
Antarmuka
google.maps.MapPanes
Properti | |
|---|---|
floatPane |
Jenis:
ElementPanel ini berisi jendela info. Panel ini berada di atas semua overlay peta. (Panel 4). |
mapPane |
Jenis:
ElementPanel ini adalah panel terendah dan berada di atas ubin. Panel ini tidak menerima peristiwa DOM. (Panel 0). |
markerLayer |
Jenis:
ElementPanel ini berisi penanda. Panel ini tidak menerima peristiwa DOM. (Panel 2). |
overlayLayer |
Jenis:
ElementPanel ini berisi polyline, poligon, overlay bumi, dan overlay lapisan ubin. Panel ini tidak menerima peristiwa DOM. (Panel 1). |
overlayMouseTarget |
Jenis:
ElementPanel ini berisi elemen yang menerima peristiwa DOM. (Panel 3). |
Antarmuka MapCanvasProjection
Antarmuka
google.maps.MapCanvasProjection
Objek ini disediakan untuk OverlayView dari dalam metode draw. Tidak ada jaminan bahwa objek ini akan diinisialisasi sebelum draw dipanggil.
Metode | |
|---|---|
fromContainerPixelToLatLng |
fromContainerPixelToLatLng(pixel[, noClampNoWrap])Parameter:
Nilai Hasil:
LatLng|nullMenghitung koordinat geografis dari koordinat piksel dalam penampung peta. |
fromDivPixelToLatLng |
fromDivPixelToLatLng(pixel[, noClampNoWrap])Parameter:
Nilai Hasil:
LatLng|nullMenghitung koordinat geografis dari koordinat piksel di div yang menyimpan peta yang dapat ditarik. |
fromLatLngToContainerPixel |
fromLatLngToContainerPixel(latLng)Parameter:
Nilai Hasil:
Point|nullMenghitung koordinat piksel lokasi geografis yang diberikan dalam elemen penampung peta. |
fromLatLngToDivPixel |
fromLatLngToDivPixel(latLng)Parameter:
Nilai Hasil:
Point|nullMenghitung koordinat piksel lokasi geografis yang diberikan dalam elemen DOM yang menyimpan peta yang dapat ditarik. |
getVisibleRegion |
getVisibleRegion()Parameter: Tidak ada
Nilai Hasil:
VisibleRegion|nullWilayah peta yang terlihat. Menampilkan null jika peta tidak memiliki ukuran. Menampilkan null jika OverlayView berada di StreetViewPanorama. |
getWorldWidth |
getWorldWidth()Parameter: Tidak ada
Nilai Hasil:
numberLebar dunia dalam piksel pada tingkat zoom saat ini. Untuk proyeksi dengan sudut arah 90 atau 270 derajat, ini sesuai dengan rentang piksel di sumbu Y. |