אתם יכולים להוסיף אנימציות של נתיב המצלמה למפה התלת-ממדית כדי לספק למשתמשים חוויה עשירה יותר. אנימציות של נתיב המצלמה יכולות לעבור לנקודה מסוימת במפה, להסתובב סביבה או לשלב בין שתי הפעולות כדי להנפיש את 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: {}
)