Puedes agregar animaciones de ruta de cámara a tu mapa 3D para brindar una experiencia más envolvente a tus usuarios. Las animaciones de ruta de cámara pueden volar a un punto del mapa, volar alrededor de él o ser
combinadas para animar la
Camera
a un punto del mapa, lo que incluye especificar su
altitud
y
altitudeMode.
Cuando configuras un
Camera
para una animación, puedes establecer la propiedad
altitudeMode
para especificar cómo se interpreta la altitud de la cámara:
AltitudeMode.absolute: Interpreta la altitud como metros sobre el nivel medio del mar (el valor predeterminado si no se especifica).AltitudeMode.relativeToGround: Interpreta la altitud como metros sobre la superficie terrestre en el punto central de la cámara.AltitudeMode.relativeToMesh: Interpreta la altitud como metros sobre la superficie de malla 3D más alta (como edificios o terrenos) en el punto central de la cámara.
Visualizar
En el siguiente código de muestra, se muestra cómo usar el
flyCameraTo
para animar la
Camera
para que vuele a un punto específico en un mapa 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: {}
)
Volar alrededor
En el siguiente código de muestra, se muestra cómo usar el
flyCameraAround
modificador para animar la
Camera
para que vuele alrededor de un punto específico en un mapa 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: {}
)