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

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

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

כשמגדירים Camera לאנימציה, אפשר להגדיר את המאפיין altitudeMode כדי לציין איך לפרש את הגובה של המצלמה:

  • ‫AltitudeMode.absolute: הגובה מפורש כמטרים מעל גובה פני הים הממוצע (ערך ברירת המחדל אם לא צוין אחרת).
  • ‫AltitudeMode.relativeToGround: מפרש את הגובה כמטרים מעל פני הקרקע בנקודת המרכז של המצלמה.
  • ‫AltitudeMode.relativeToMesh: הגובה מפורש כמטרים מעל פני השטח הגבוהים ביותר של רשת תלת-ממדית (כמו בניינים או פני שטח) בנקודת המרכז של המצלמה.

מעבר בטיסה אל

דוגמת הקוד הבאה ממחישה איך להשתמש ב-modifier‏ flyCameraTo כדי להוסיף אנימציה ל-Camera, כך שהמצלמה תעבור לנקודה ספציפית במפה תלת-ממדית.

Map(mode: .hybrid)
  .flyCameraTo(
    .init(
      center: .init(
        latitude: 47.6210296,
        longitude: -122.3496903,
        altitude: 585
      ),
      heading: 149.0,
      tilt: 77.0,
      roll: 0.0,
      range: 4000,
      altitudeMode: .relativeToGround
    ),
    duration: 5,
    trigger: animate,
    completion: {}
  )

טיסה מסביב

דוגמת הקוד הבאה ממחישה איך להשתמש במשתנה flyCameraAround כדי להנפיש את Camera כך שינוע סביב נקודה ספציפית במפה תלת-ממדית.

Map(mode: .hybrid)
  .flyCameraAround(
    .init(
      center: .init(
        latitude: 47.6210296,
        longitude: -122.3496903,
        altitude: 585
      ),
      heading: 149.0,
      tilt: 77.0,
      roll: 0.0,
      range: 3000,
      altitudeMode: .relativeToGround
    ),
    duration: 90,
    repeatCount: 3,
    trigger: flyAround,
    completion: {}
  )