אתם יכולים להוסיף אנימציות של מסלולי מצלמה למפה התלת-ממדית כדי לספק למשתמשים חוויה עשירה יותר. אנימציות של נתיב המצלמה יכולות לעבור אל נקודה במפה או לעוף סביבה.
מעבר בטיסה אל
בדוגמת הקוד הבאה מוסבר איך להפעיל אנימציה של המצלמה כדי לטוס לנקודה ספציפית במפה תלת-ממדית, באמצעות קריאה לשיטה flyCameraTo
. כדי להשתמש בדוגמת הקוד הזו, פועלים לפי ההוראות בקטע הגדרה ובקטע הוספת מפה תלת-ממדית לאפליקציה כדי להגדיר מפה תלת-ממדית בסיסית בפרויקט ב-Android Studio. לאחר מכן, מוסיפים את הקוד הבא לקובץ MainActivity.kt
:
// Add imports and define constants import com.google.android.gms.maps3d.model.latLngAltitude const val EMPIRE_STATE_BUILDING_LATITUDE = 40.748233 const val EMPIRE_STATE_BUILDING_LONGITUDE = -73.985663 ... // Add to the onMap3DViewReady method, after the googleMap3D object has been initialized googleMap3D.flyCameraTo( flyToOptions { endCamera = camera { center = latLngAltitude { latitude = EMPIRE_STATE_BUILDING_LATITUDE longitude = EMPIRE_STATE_BUILDING_LONGITUDE altitude = 212.0 // in meters } heading = 34.0 // bearing in degrees tilt = 67.0 // relative to vertical range = 750.0 // distance away from the focal point in meters roll = 0.0 // roll relative to horizontal } durationInMillis = 2_000 } )
טיסה מסביב
דוגמת הקוד הבאה מראה איך להפעיל אנימציה של המצלמה כדי לטוס סביב נקודה ספציפית במפה תלת-ממדית, באמצעות קריאה לשיטה flyCameraAround
. כדי להשתמש בדוגמת הקוד הזו, צריך לפעול לפי ההוראות במאמרים הגדרה והוספת מפה תלת-ממדית לאפליקציה כדי להגדיר פרויקט ב-Android Studio עם מפה תלת-ממדית בסיסית. לאחר מכן מוסיפים את הקוד הבא לקובץ MainActivity.kt
:
// Add imports and define constants import com.google.android.gms.maps3d.model.latLngAltitude const val EMPIRE_STATE_BUILDING_LATITUDE = 40.748233 const val EMPIRE_STATE_BUILDING_LONGITUDE = -73.985663 ... // Add to the onMap3DViewReady method, after the googleMap3D object has been initialized googleMap3D.flyCameraAround( flyAroundOptions { center = camera { center = latLngAltitude { latitude = EMPIRE_STATE_BUILDING_LATITUDE longitude = EMPIRE_STATE_BUILDING_LONGITUDE altitude = 212.0 } heading = 34.0 tilt = 67.0 range = 750.0 roll = 0.0 } durationInMillis = 5_000 rounds = 1.0 // Number of rotations - can be fractional } )