이번 포스트에서는 CoreLocation 프레임워크를 활용해 두 지리적 위치 사이의 거리를 계산하는 방법을 알아보겠습니다.
최종 결과물은 두 지점 사이의 거리를 화면의 레이블(Label)에 표시하는 형태입니다. 아래 단계를 순서대로 따라 해 보세요.
프로젝트 설정
1단계: 새 프로젝트 생성
Xcode를 실행한 뒤 New Project → Single View Application을 선택하고, 프로젝트 이름을 FindDistance로 지정합니다.
2단계: UI 구성
Main.storyboard를 열고 아래 이미지와 같이 레이블 두 개를 화면에 배치합니다.

3단계: IBOutlet 연결
하단 레이블에 @IBOutlet을 연결하고 이름을 distanceLabel로 지정합니다.
거리 계산 로직 구현
4단계: CoreLocation 임포트
ViewController 상단에 다음 코드를 추가해 CoreLocation 프레임워크를 임포트합니다.
import CoreLocation
5단계: 두 지점 변수 선언
거리를 측정할 두 지점을 CLLocation 객체로 선언합니다.
var firstLocation = CLLocation(latitude: 34.54545, longitude: 56.64646)
var secondLocation = CLLocation(latitude: 59.326354, longitude: 18.072310)
6단계: viewDidLoad에 코드 추가
뷰 컨트롤러의 viewDidLoad() 메서드에 아래 코드를 작성합니다.
let distance = firstLocation.distance(from: secondLocation) / 1000
distanceLabel.text = " \(String(format: "%.02f", distance)) KMs "
여기서 사용된 distance(from:) 함수는 CoreLocation 프레임워크가 제공하는 기능으로, 두 지점 사이의 거리를 미터(m) 단위로 반환합니다. 따라서 반환값을 1000으로 나누어 킬로미터(km) 단위로 변환한 뒤, 소수점 둘째 자리까지 포맷팅하여 레이블에 출력했습니다.
실행 결과 확인
7단계: 프로젝트 빌드 및 실행
프로젝트를 실행하면 시뮬레이터 화면의 하단 레이블에 두 지점 사이의 거리가 킬로미터 단위로 표시되는 것을 확인할 수 있습니다.

이처럼 CLLocation의 distance(from:) 메서드만 활용하면 복잡한 수학 공식 없이도 정확한 지구 표면 거리를 손쉽게 계산할 수 있습니다. 실제 앱에서는 사용자의 현재 위치와 특정 목적지 사이의 거리를 구하는 등 다양하게 응용할 수 있습니다.