3D 지도에 카메라 경로 애니메이션을 추가하여 사용자에게 더욱 몰입감 있는 환경을 제공할 수 있습니다. 카메라 경로 애니메이션은 지도의 한 지점으로 날아가거나, 지도의 한 지점 주변을 날거나, 결합하여 Camera를 애니메이션으로 표시할 수 있습니다. 여기에는 고도 및 altitudeMode 지정이 포함됩니다.
애니메이션의 Camera를 구성할 때 altitudeMode 속성을 설정하여 카메라의 고도가 해석되는 방식을 지정할 수 있습니다.
AltitudeMode.absolute: 고도를 평균 해수면 위의 미터로 해석합니다 (지정되지 않은 경우 기본값).AltitudeMode.relativeToGround: 고도를 카메라 중심점의 지표면 위 미터로 해석합니다.AltitudeMode.relativeToMesh: 고도를 카메라 중심점의 가장 높은 3D 메시 표면 (예: 건물 또는 지형) 위의 미터로 해석합니다.
빠른 이동
다음 코드 샘플은 flyCameraTo 수정자를 사용하여 Camera를 애니메이션화하여 3D 지도의 특정 지점으로 이동하는 방법을 보여줍니다.
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에 애니메이션을 적용해 3D 지도의 특정 지점 주위를 날아다니게 하는 방법을 보여줍니다.
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: {}
)