카메라 경로 애니메이션 추가

플랫폼 선택: Android iOS JavaScript

3D 지도에 카메라 경로 애니메이션을 추가하여 사용자에게 더욱 몰입감 있는 환경을 제공할 수 있습니다. 카메라 경로 애니메이션은 지도상의 한 지점으로 이동하거나, 주변을 비행하거나, 결합하여 애니메이션으로 표시할 Camera 수 있으며, 고도 및 altitude and altitudeMode를 지정할 수 있습니다.

애니메이션의 Camera 를 구성할 때 altitudeMode 속성을 설정하거나 setAltitudeMode) 를 호출하여 카메라의 고도가 해석되는 방식을 지정할 수 있습니다.

빠른 이동

다음 코드 샘플은 3D 지도의 특정 지점으로 이동하도록 Camera 를 애니메이션으로 표시하는 방법을 보여줍니다. FlyToOptions 구성으로 GoogleMap3D 에서 flyCameraTo 메서드를 호출하여

// Add imports and define constants
import com.google.android.gms.maps3d.model.AltitudeMode
import com.google.android.gms.maps3d.model.FlyToOptions
import com.google.android.gms.maps3d.model.FlyAroundOptions
import com.google.android.gms.maps3d.model.Camera
import com.google.android.gms.maps3d.model.Map3DMode
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.setMapMode(Map3DMode.HYBRID)
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
            altitudeMode = AltitudeMode.RELATIVE_TO_GROUND
        }
        durationInMillis = 2000
    }
)

주변 비행

다음 코드 샘플은 Camera 구성으로 GoogleMap3D 에서 flyCameraAround 메서드를 호출하여 3D 지도의 특정 지점 주변을 비행하도록 FlyAroundOptions 를 애니메이션으로 표시하는 방법을 보여줍니다.

// Add imports and define constants
import com.google.android.gms.maps3d.model.AltitudeMode
import com.google.android.gms.maps3d.model.Map3DMode
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.setMapMode(Map3DMode.HYBRID)
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
            altitudeMode = AltitudeMode.RELATIVE_TO_GROUND
        }
        durationInMillis = 5000
        rounds = 1.0 // Number of rotations - can be fractional
    }
)