Anda dapat menambahkan animasi jalur kamera ke peta 3D untuk memberikan pengalaman yang lebih imersif bagi pengguna. Animasi jalur kamera dapat terbang ke atau terbang di sekitar suatu titik di peta.
Contoh berikut menggabungkan animasi flyCameraTo dan flyCameraAround:
Jalur kamera preset
Peta 3D di Maps JavaScript menyediakan dua jalur kamera preset. Jalur kamera dapat disesuaikan dengan mengubah durasi animasi (sehingga meningkatkan atau mengurangi kecepatan), atau dengan menggabungkannya untuk menciptakan pengalaman yang lebih sinematik.
Selain itu, Anda dapat mengontrol ketinggian kamera dengan menentukan
altitudeMode.
Peta 3D di Maps JavaScript mendukung jalur kamera berikut:
- Animasi
flyCameraToterbang dari pusat peta ke tujuan yang ditentukan. - Animasi
flyCameraAroundberputar di sekitar titik pada peta dengan jumlah putaran yang ditentukan.
Dua jalur yang tersedia dapat digabungkan untuk terbang ke tempat menarik, berputar di sekitarnya, lalu berhenti saat ditentukan.
Terbang ke
Contoh kode berikut menunjukkan cara menganimasikan kamera untuk terbang ke suatu lokasi:
const map = document.querySelector('gmp-map-3d');
async function init() {
await google.maps.importLibrary('maps3d');
map.flyCameraTo({
endCamera: {
center: { lat: 37.6191, lng: -122.3816, altitude: 500 },
altitudeMode: 'RELATIVE_TO_GROUND',
tilt: 67.5,
range: 1000
},
durationMillis: 5000
});
}
Terbang di sekitar
Contoh kode berikut menunjukkan cara menganimasikan kamera untuk terbang di sekitar lokasi:
const map = document.querySelector('gmp-map-3d');
async function init() {
await google.maps.importLibrary('maps3d');
map.flyCameraAround({
camera,
durationMillis: 60000,
repeatCount: 1
});
}
Menggabungkan animasi
Contoh kode berikut menunjukkan cara menggabungkan animasi untuk menerbangkan kamera ke suatu lokasi, lalu memutar di sekitar lokasi saat animasi pertama berakhir:
const map = document.querySelector('gmp-map-3d');
async function init() {
await google.maps.importLibrary('maps3d');
map.flyCameraTo({
endCamera: flyToCamera,
durationMillis: 5000,
});
map.addEventListener('gmp-animationend', () => {
map.flyCameraAround({
camera: flyToCamera,
durationMillis: 60000,
repeatCount: 1
});
}, {once: true});
}