הוספת אנימציות לנתיב המצלמה

בחירת פלטפורמה: Android iOS

אתם יכולים להוסיף אנימציות של מסלולי מצלמה למפה התלת-ממדית כדי לספק למשתמשים חוויה עשירה יותר. אנימציות של נתיב המצלמה יכולות לעבור אל נקודה במפה או לעוף סביבה.

מעבר בטיסה אל

בדוגמת הקוד הבאה מוסבר איך להפעיל אנימציה של המצלמה כדי לטוס לנקודה ספציפית במפה תלת-ממדית, באמצעות קריאה לשיטה 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
    }
)