Class yang berisi metode untuk membuat objek CameraUpdate
yang mengubah kamera peta.
Untuk mengubah kamera peta, panggil animateCamera(CameraUpdate)
, animateCamera(CameraUpdate, GoogleMap.CancelableCallback)
, atau moveCamera(CameraUpdate)
menggunakan objek CameraUpdate
yang dibuat dengan class ini.
Misalnya, untuk memperbesar peta, Anda dapat menggunakan kode berikut:
GoogleMap map = ...;
map.animateCamera(CameraUpdateFactory.zoomIn());
Sebelum menggunakan metode apa pun dari class ini, Anda harus melakukan salah satu tindakan berikut untuk memastikan bahwa class ini telah diinisialisasi:
- Tunggu hingga
GoogleMap
tersedia dariMapFragment
atauMapView
yang telah Anda tambahkan ke aplikasi. Anda bisa mendapatkan instanceGoogleMap
dengan memanggilgetMapAsync()
dan menunggu callbackonMapReady(GoogleMap map)
. - Panggil
initialize(Context)
. SelamaGooglePlayServicesNotAvailableException
tidak ditampilkan, class ini akan diinisialisasi dengan benar.
Panduan Developer
Untuk informasi selengkapnya, baca panduan developer Kamera dan Tampilan.
Ringkasan Metode Publik
CameraUpdate statis |
newCameraPosition(CameraPosition cameraPosition)
Menampilkan
CameraUpdate yang memindahkan kamera ke CameraPosition yang ditentukan. |
CameraUpdate statis |
newLatLng(LatLng latLng)
Menampilkan
CameraUpdate yang memindahkan bagian tengah layar ke lintang dan bujur yang ditentukan oleh objek LatLng . |
CameraUpdate statis |
newLatLngBounds(batas LatLngBounds, lebar int, tinggi int, padding int)
Menampilkan
CameraUpdate yang mengubah kamera sedemikian rupa sehingga batas garis lintang/garis bujur yang ditentukan berada di tengah layar dalam kotak pembatas dimensi yang ditentukan pada tingkat zoom tertinggi. |
CameraUpdate statis |
newLatLngBounds(batas LatLngBounds, padding int)
Menampilkan
CameraUpdate yang mengubah kamera sedemikian rupa sehingga batas garis lintang/bujur yang ditentukan berada di tengah layar dengan tingkat zoom tertinggi. |
CameraUpdate statis |
newLatLngZoom(LatLng latLng, zoom float)
Menampilkan
CameraUpdate yang memindahkan bagian tengah layar ke lintang dan bujur yang ditentukan oleh objek LatLng , dan berpindah ke tingkat zoom yang diberikan. |
CameraUpdate statis |
scrollBy(xPixel float, yPixel float)
Menampilkan
CameraUpdate yang men-scroll kamera di atas peta, menggeser bagian tengah tampilan menurut jumlah piksel yang ditentukan dalam arah x dan y. |
CameraUpdate statis |
zoomBy(jumlah nilai mengambang, Fokus titik)
Menampilkan
CameraUpdate yang menggeser tingkat zoom sudut pandang kamera saat ini. |
CameraUpdate statis |
zoomBy(jumlah floating)
Menampilkan
CameraUpdate yang menggeser tingkat zoom sudut pandang kamera saat ini. |
CameraUpdate statis |
zoomIn()
Menampilkan
CameraUpdate yang memperbesar peta dengan memindahkan tinggi titik pandang lebih dekat ke permukaan Bumi. |
CameraUpdate statis |
zoomOut()
Menampilkan
CameraUpdate yang memperkecil peta dengan memindahkan tinggi titik pandang
lebih jauh dari permukaan Bumi. |
CameraUpdate statis |
zoomTo(zoom mengambang)
Menampilkan
CameraUpdate yang memindahkan sudut pandang kamera ke tingkat zoom tertentu. |
Ringkasan Metode Turunan
Metode Publik
public static CameraUpdate newCameraPosition (CameraPosition cameraPosition)
Menampilkan CameraUpdate
yang memindahkan kamera ke CameraPosition
yang ditentukan. Akibatnya, tindakan ini akan menghasilkan transformasi dari lintang, bujur, tingkat zoom, arah, dan kemiringan objek CameraPosition
.
Parameter
cameraPosition |
---|
Hasil
CameraUpdate
yang berisi transformasi.
publik statis CameraUpdate newLatLng (LatLng latLng)
Menampilkan CameraUpdate
yang memindahkan bagian tengah layar ke lintang dan bujur yang ditentukan oleh objek LatLng
. Tindakan ini akan memusatkan kamera pada objek LatLng
.
Parameter
latLng | objek LatLng yang berisi lintang dan bujur yang diinginkan. |
---|
Hasil
CameraUpdate
yang berisi transformasi.
publik statis CameraUpdate newLatLngBounds (LatLngBounds batas, lebar int, tinggi int, padding int)
Menampilkan CameraUpdate
yang mengubah kamera sedemikian rupa sehingga batas garis lintang/garis bujur yang ditentukan berada di tengah layar dalam kotak pembatas dimensi yang ditentukan pada tingkat zoom tertinggi. Anda dapat menentukan padding tambahan, untuk lebih membatasi
ukuran kotak pembatas. CameraUpdate
yang ditampilkan memiliki bearing 0 dan kemiringan
0.
Tidak seperti newLatLngBounds(LatLngBounds, int)
, Anda dapat menggunakan CameraUpdate
yang ditampilkan oleh metode ini untuk mengubah kamera sebelum fase tata letak peta, karena
argumen menentukan ukuran kotak pembatas yang diinginkan.
Parameter
batas | wilayah agar sesuai dengan kotak pembatas |
---|---|
lebar | lebar kotak pembatas dalam piksel (px) |
tinggi | tinggi kotak pembatas dalam piksel (px) |
padding | batasan ukuran tambahan (dalam px) pada kotak pembatas |
Hasil
CameraUpdate
yang berisi transformasi.
publik statis CameraUpdate newLatLngBounds (LatLngBounds batas, padding int)
Menampilkan CameraUpdate
yang mengubah kamera sedemikian rupa sehingga batas garis lintang/bujur yang ditentukan berada di tengah layar dengan tingkat zoom tertinggi. Anda dapat menentukan padding untuk menyisipkan kotak pembatas dari tepi tampilan peta. CameraUpdate
yang ditampilkan memiliki bearing 0 dan kemiringan 0.
Jangan ubah kamera dengan pembaruan kamera ini hingga peta diberi tata letak (agar metode ini menentukan kotak pembatas dan tingkat zoom yang sesuai dengan benar, peta harus memiliki ukuran). Jika tidak, IllegalStateException
akan ditampilkan. Ketersediaan peta TIDAK
cukup; tampilan yang berisi peta juga harus sudah diberi
tata letak sedemikian rupa agar dimensinya telah ditentukan. Jika Anda tidak dapat memastikan bahwa hal ini terjadi, gunakan newLatLngBounds(LatLngBounds, int, int, int)
dan berikan dimensi peta secara manual.
Parameter
batas | wilayah agar sesuai dengan layar |
---|---|
padding | spasi (dalam px) yang tersisa di antara tepi kotak pembatas dan tepi tampilan. Nilai ini diterapkan ke keempat sisi kotak pembatas. |
Hasil
CameraUpdate
yang berisi transformasi.
publik statis CameraUpdate newLatLngZoom (LatLng latLng, zoom float)
Menampilkan CameraUpdate
yang memindahkan bagian tengah layar ke lintang dan bujur yang ditentukan oleh objek LatLng
, dan berpindah ke tingkat zoom yang diberikan.
Parameter
latLng | objek LatLng yang berisi lintang dan bujur yang diinginkan. |
---|---|
zoom | tingkat zoom yang diinginkan, dalam rentang 2,0 hingga 21,0. Nilai di bawah rentang ini ditetapkan ke 2.0, dan nilai di atasnya ditetapkan ke 21.0. Naikkan nilai untuk memperbesar. Tidak semua area memiliki ubin pada tingkat zoom terbesar. |
Hasil
CameraUpdate
yang berisi transformasi.
public static CameraUpdate scrollBy (float xPixel, float yPixel)
Menampilkan CameraUpdate
yang men-scroll kamera di atas peta, menggeser bagian tengah tampilan menurut jumlah piksel yang ditentukan dalam arah x dan y.
Contoh:
- Jika xPixel = 5 dan yPixel = 0, sistem akan men-scroll ke kanan dengan menggerakkan kamera sehingga peta tampak bergeser 5 piksel ke kiri.
- Jika xPixel = 0 dan yPixel = 5, sistem akan men-scroll ke bawah dengan menggerakkan kamera sehingga peta tampak bergeser 5 piksel ke atas.
Scrolling tersebut sesuai dengan orientasi kamera saat ini. Misalnya, jika kamera mengarah 90 derajat, maka timur di "atas" dan men-scroll ke kanan akan menggerakkan kamera ke selatan.
Parameter
xPixel | jumlah {i>pixel<i} untuk menggulir secara horizontal. Nilai positif menggerakkan kamera ke kanan, sesuai dengan orientasi saat ini. Nilai negatif menggerakkan kamera ke kiri, sehubungan dengan orientasi saat ini. |
---|---|
yPixel | jumlah piksel untuk bergulir secara vertikal. Nilai positif menggerakkan kamera ke bawah, sesuai dengan orientasinya saat ini. Nilai negatif menggerakkan kamera ke atas, sesuai dengan orientasi saat ini. |
Hasil
CameraUpdate
yang berisi transformasi.
public static CameraUpdate zoomBy (float amount, Point focus)
Menampilkan CameraUpdate
yang menggeser tingkat zoom sudut pandang kamera saat ini.
Titik yang ditentukan oleh fokus akan tetap tetap (artinya, titik tersebut sesuai dengan lintang/bujur yang sama sebelum dan sesudah proses zoom).
Metode ini berbeda dengan zoomTo(float)
dalam zoom tersebut yang relatif terhadap kamera saat ini.
Misalnya, jika LatLng
(11.11, 22.22) saat ini berada di lokasi layar (23,
45). Setelah memanggil metode ini dengan jumlah zoom dan LatLng
ini, lokasi layar LatLng
ini akan tetap (23, 45).
Parameter
jumlah | untuk mengubah tingkat zoom. Nilai positif menunjukkan zoom lebih dekat ke permukaan Bumi, sedangkan nilai negatif menunjukkan zoom jauh dari permukaan Bumi. |
---|---|
focus | lokasi piksel pada layar yang akan tetap dipertahankan setelah proses zoom. Lintang/bujur yang berada di lokasi piksel tersebut sebelum kamera bergerak akan tetap sama setelah kamera bergerak. |
Hasil
CameraUpdate
yang berisi transformasi.
public static CameraUpdate zoomBy (float amount)
Menampilkan CameraUpdate
yang menggeser tingkat zoom sudut pandang kamera saat ini.
Metode ini berbeda dengan zoomTo(float)
dalam zoom tersebut yang relatif terhadap kamera saat ini.
Parameter
jumlah | untuk mengubah tingkat zoom. Nilai positif menunjukkan zoom lebih dekat ke permukaan Bumi, sedangkan nilai negatif menunjukkan zoom jauh dari permukaan Bumi. |
---|
Hasil
CameraUpdate
yang berisi transformasi.
publik static CameraUpdate zoomIn ()
Menampilkan CameraUpdate
yang memperbesar peta dengan memindahkan tinggi titik pandang lebih dekat ke permukaan Bumi. Penambahan zoom adalah 1,0.
Hasil
CameraUpdate
yang berisi transformasi.
public static CameraUpdate zoomOut ()
Menampilkan CameraUpdate
yang memperkecil peta dengan memindahkan tinggi titik pandang
lebih jauh dari permukaan Bumi. Penambahan zoom adalah -1,0.
Hasil
CameraUpdate
yang berisi transformasi.
publik statis CameraUpdate zoomTo (zoom mengambang)
Menampilkan CameraUpdate
yang memindahkan sudut pandang kamera ke tingkat zoom tertentu.
Parameter
zoom | tingkat zoom yang diinginkan, dalam rentang 2,0 hingga 21,0. Nilai di bawah rentang ini ditetapkan ke 2.0, dan nilai di atasnya ditetapkan ke 21.0. Naikkan nilai untuk memperbesar. Tidak semua area memiliki ubin pada tingkat zoom terbesar. |
---|