카메라 컨트롤 구성

플랫폼 선택: Android iOS JavaScript

사용자는 지도에서 동작을 사용하여 카메라의 확대/축소, 기울기, 위치, 회전을 제어할 수 있습니다. 카메라를 프로그래매틱 방식으로 구성할 수도 있습니다.

3D 카메라 모델을 보여주는 다이어그램

카메라 위치

지도 뷰는 카메라가 공간의 특정 지점을 바라보는 것으로 모델링됩니다. 카메라의 위치와 방향은 위도/경도/고도 좌표, 방위, 기울기, 범위, 롤로 정의됩니다.

위도, 경도, 고도

카메라의 초기 위치는 위도, 경도, 고도를 설정하여 정의됩니다. 이러한 값은 카메라가 가리키거나 중앙에 배치되는 위치가 아니라 카메라가 배치되는 위치를 결정하기 위해 결합됩니다.

위도는 -90도 이상 90도 이하로 설정할 수 있습니다. 경도는 -180도 이상 180도 이하로 설정할 수 있습니다. 고도는 해발고도(미터)로 지정됩니다.

이 범위보다 크거나 작은 값은 범위 내의 가장 가까운 값으로 고정됩니다. 예를 들어 위도를 100으로 지정하면 값이 90으로 설정됩니다.

회전

회전 은 지도의 나침반 방향을 지정하며 진북에서 시계 방향으로 측정됩니다(단위: 도). 북쪽은 0도, 동쪽은 90도, 남쪽은 180도, 서쪽은 270도에 해당합니다.

기울이기

기울기 는 수직축을 기준으로 카메라의 각도를 지정하며 도 단위로 측정됩니다. 기울기가 0도이면 카메라가 지구 (천저)를 향해 똑바로 아래를 가리키는 것입니다. 기울기가 90 도이면 카메라가 방위로 지정된 방향 으로 수평을 가리키는 것입니다.

범위

범위 는 카메라 자체의 위치와 지도 중앙 사이의 거리를 미터 단위로 정의합니다. 범위는 0미터 (매우 가까운 거리)에서 최대 6,300만 미터까지 다양하며, 매우 가까운 거리에서부터 진정한 글로벌 관점까지 뷰를 허용합니다. 이는 지도가 '확대' 또는 '축소'되어 표시되는 방식을 효과적으로 제어합니다.

은 수평선을 기준으로 카메라의 각도를 설정하며 도 단위로 측정됩니다. 이 매개변수는 비행 시뮬레이션 중 뱅킹과 같은 효과를 만들거나 뷰 축을 중심으로 카메라를 회전하는 완전한 배럴 롤을 만드는 데 사용할 수 있습니다.

카메라 제어

다음 코드 샘플은 카메라를 프로그래매틱 방식으로 제어하는 방법을 보여줍니다.

Swift


public static var sanFrancisco: Camera = .init(
  center: .init(
    latitude: 37.7845812,
    longitude: -122.3660241,
    altitude: 585),
  fieldOfView: .init(degrees: 100),
  altitudeMode: .relativeToGround,
  heading: 288.0,
  tilt: 75.0,
  roll: 0.0,
  range: 100)