Możesz dodać animacje ścieżek kamery do mapy 3D, aby zapewnić użytkownikom bardziej wciągające wrażenia. Animacje ścieżek kamery mogą przelatywać do punktu na mapie lub wokół niego.
Poniższy przykład łączy animacje flyCameraTo i flyCameraAround:
Gotowe ścieżki kamery
Mapy 3D w Mapach JavaScript udostępniają 2 gotowe ścieżki kamery. Ścieżki kamery można dostosować, zmieniając czas trwania animacji (zwiększając lub zmniejszając prędkość) albo łącząc je, aby uzyskać bardziej filmowe wrażenia.
Dodatkowo możesz kontrolować wysokość kamery, określając altitudeMode.
Mapy 3D w Mapach JavaScript obsługują te ścieżki kamery:
- Animacja
flyCameraToprzelatuje od środka mapy do określonego miejsca docelowego. - Animacja
flyCameraAroundobraca się wokół punktu na mapie o określoną liczbę obrotów.
Dostępne ścieżki można połączyć, aby przelatywać do interesującego miejsca, obracać się wokół niego, a następnie zatrzymać się w określonym momencie.
Przejdź do
Poniższy przykładowy kod pokazuje, jak animować kamerę, aby przelatywała do lokalizacji:
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
});
}
Przelatuj wokół
Poniższy przykładowy kod pokazuje, jak animować kamerę, aby przelatywała wokół lokalizacji:
const map = document.querySelector('gmp-map-3d');
async function init() {
await google.maps.importLibrary('maps3d');
map.flyCameraAround({
camera,
durationMillis: 60000,
repeatCount: 1
});
}
Łączenie animacji
Poniższy przykładowy kod pokazuje, jak połączyć animacje, aby przelatywać kamerą do lokalizacji, a następnie obracać się wokół niej po zakończeniu pierwszej animacji:
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});
}