Saya menetapkan beberapa penanda di peta saya dan saya dapat mengatur secara statis tingkat zoom dan pusat tetapi yang saya inginkan adalah, untuk mencakup semua penanda dan memperbesar sebanyak mungkin agar semua pasar terlihat
Metode yang tersedia mengikuti
dan
Tidak setCenter
mendukung beberapa lokasi atau input array Lokasi juga setZoom
tidak memiliki jenis fungsi ini
javascript
google-maps-api-3
Trikaldarshi
sumber
sumber
latlng
kebounds
objek setiap kali Anda menambahkan penanda dan mengatur peta Anda agar sesuai dengan batas akhir. Lihat jawabannya di sini: stackoverflow.com/questions/1556921/…Jawaban:
Anda perlu menggunakan
fitBounds()
metode ini.Dokumentasi dari developers.google.com/maps/documentation/javascript :
sumber
getPosition
metode itu berasal?LatLngLiteral
bukannya memiliki contoh Marker. misalnyabounds.extend({lat: 123, lng: 456})
,.fitBounds(bounds, int)
yang akan memungkinkan Anda memiliki sedikit ruang antara penanda dan tepi peta (atau lebih sedikit ruang jika Anda membutuhkan). Lihat DokumentasiUntuk memperluas jawaban yang diberikan dengan beberapa trik bermanfaat:
UPDATE:
Penelitian lebih lanjut dalam topik ini menunjukkan bahwa fitBounds () adalah asynchronic dan yang terbaik adalah membuat manipulasi Zoom dengan pendengar yang ditentukan sebelum memanggil Fit Bounds.
Terima kasih @Tim, @ xr280xr, lebih banyak contoh pada topik: SO: setzoom-after-fitbounds
sumber
addListenerOnce
onzoom_changed
untuk mengatur zoom setelah nilainya diinisialisasi.yourMap
,map
danthis
. Mungkin ide yang bagus untuk membuatnya lebih konsisten.Ukuran array harus lebih besar dari nol. Ο sebaliknya, Anda akan mendapatkan hasil yang tidak terduga.
sumber
Ada
MarkerClusterer
utilitas sisi klien ini tersedia untuk google Map sebagaimana ditentukan di sini di Artikel pengembang Google Map , di sini adalah singkat tentang apa penggunaannya:Ada banyak pendekatan untuk melakukan apa yang Anda minta:
Anda dapat membacanya di tautan yang disediakan di atas.
Marker Clusterer
menggunakan Grid Based Clustering untuk mengelompokkan semua marker yang ingin grid. Pengelompokan berbasis-grid berfungsi dengan membagi peta menjadi kotak-kotak dengan ukuran tertentu (ukurannya berubah di setiap zoom) dan kemudian mengelompokkan penanda ke dalam setiap kotak persegi.Sebelum Clustering
Setelah Clustering
Saya harap ini yang Anda cari & ini akan menyelesaikan masalah Anda :)
sumber