Menyesuaikan kamera

Kamera memungkinkan Anda mengubah sudut pandang pengguna terhadap peta. Anda dapat menggunakan mode kamera untuk mengontrol perilaku tampilan peta selama navigasi. Untuk menetapkan mode kamera, panggil salah satu metode berikut yang terkait dengan kamera:

  • Ikuti lokasi saya (GoogleMap.followMyLocation) — Mode kamera default untuk navigasi. Mode ini menetapkan kamera ke perangkat atau kendaraan. Selama navigasi, kamera secara otomatis menghadap ke arah perjalanan.

  • Disematkan ke lokasi (GoogleMap.animateCamera dan GoogleMap.moveCamera) — Memperbaiki kamera di lokasi tertentu. Saat menggunakan mode ini, Anda dapat menetapkan lokasi kamera beserta properti kamera lainnya seperti arah, kemiringan, zoom, dll. Jika tampilan ini dipilih dan Navigator telah diinisialisasi, tombol Pusatkan kembali akan terlihat.

  • Tampilkan ringkasan rute (NavigationView.showRouteOverview atau SupportNavigationFragment.showRouteOverview) — Menampilkan ringkasan rute yang tersisa (hingga 45 menit waktu mengemudi berikutnya), menggeser dan melakukan zoom sesuai kebutuhan agar rute sesuai dengan tampilan peta. Jika tampilan ini dipilih, tombol Pusatkan kembali akan terlihat.

Mengklik tombol Pusatkan kembali akan menetapkan kamera ke mode followMyLocation.

Mode ikuti lokasi saya

Setelan kamera yang paling umum adalah menetapkan kamera ke perangkat atau kendaraan, yang menunjukkan posisi saat ini dalam perjalanan. Dalam mode kamera ini, Anda dapat melihat rute dengan mobil yang selalu menghadap ke atas layar dengan perspektif miring (CameraPerspective.TILTED), atau Anda dapat melihat mobil yang melakukan perjalanan dengan utara (CameraPerspective.TOP_DOWN_NORTH_UP) atau dengan arah (CameraPerspective.TOP_DOWN_HEADING_UP)) selalu di bagian atas layar.

Fragmen kode berikut menggunakan perspektif TILTED:

// Set the camera to follow the device (vehicle):
mNavFragment.getMapAsync(googleMap -> googleMap.followMyLocation(CameraPerspective.TILTED))

Mode disematkan ke lokasi

Mode Pinned memberi Anda kontrol kamera yang paling besar. Dalam mode ini, Anda menempatkan kamera di lokasi tertentu, menetapkan arah untuk mengarahkan tampilan kamera, mengubah kemiringan untuk menetapkan sudut pandang, dan menetapkan tingkat zoom kamera.

Cuplikan kode berikut menunjukkan beberapa cara umum untuk menggerakkan kamera.

private static final LatLng SYDNEY = new LatLng(-33.88, 151.21);
private static final LatLng MOUNTAIN_VIEW = new LatLng(37.4, -122.1);

private GoogleMap map;
... // Obtain the map from a SupportNavigationFragment or NavigationView.

// Move the camera instantly to Sydney with a zoom of 15.
map.moveCamera(CameraUpdateFactory.newLatLngZoom(SYDNEY, 15));

// Zoom in, animating the camera.
map.animateCamera(CameraUpdateFactory.zoomIn());

// Zoom out to zoom level 10, animating with a duration of 2 seconds.
map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);

// Construct a CameraPosition focusing on Mountain View and animate the camera to that position.
CameraPosition cameraPosition = new CameraPosition.Builder()
    .target(MOUNTAIN_VIEW)      // Sets the center of the map to Mountain View
    .zoom(17)                   // Sets the zoom
    .bearing(90)                // Sets the orientation of the camera to east
    .tilt(30)                   // Sets the tilt of the camera to 30 degrees
    .build();                   // Creates a CameraPosition from the builder
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));

Mode tampilkan ringkasan rute

Setelan kamera showRouteOverview menampilkan seluruh perjalanan. Untuk perjalanan dengan beberapa tujuan, mode ini menampilkan bagian rute yang belum ditempuh.

// Place the camera to see the remaining route:
mNavFragment.showRouteOverview();

Langkah berikutnya

Lihat Menyesuaikan UI Navigasi untuk mempelajari cara menyesuaikan cara pengguna berinteraksi dengan peta Anda dengan menentukan komponen UI bawaan yang akan muncul di peta.