[swift] Alamofire를 이용한 실시간 거리 측정하기

안녕하세요! 이번에는 Swift와 Alamofire를 사용하여 실시간 거리를 측정하는 방법을 알아보겠습니다.

개요

알라모파이어(Alamofire)는 Swift에서 많이 사용되는 네트워킹 라이브러리입니다. 이를 이용하여 API 호출 및 응답을 처리할 수 있습니다. 여기서는 Google Maps Distance Matrix API를 이용하여 실시간 거리를 측정하고, Alamofire를 사용하여 이를 구현하는 방법을 소개하겠습니다.

요구사항

알라모파이어 설치

  1. Xcode를 열고 프로젝트를 선택한 뒤 File > Swift Packages > Add package dependency 를 선택합니다.
  2. 패키지 URL 입력란에 https://github.com/Alamofire/Alamofire.git 를 입력한 다음 Next를 클릭합니다.
  3. Rules 탭에서 Version 필드를 사용하여 원하는 버전을 선택한 다음 Next를 클릭합니다.
  4. 프로젝트에 추가할 대상을 선택한 다음 Finish를 클릭합니다.

Google Maps Distance Matrix API 설정

Google Cloud Platform 콘솔에서 새 프로젝트를 생성하고, Distance Matrix API를 활성화해야 합니다. API 키를 생성하고 사용 설정된 날짜 및 제한 사항을 확인합니다.

코드 작성

import Alamofire

let apiKey = "YOUR_API_KEY"
let origin = "YOUR_ORIGIN"
let destination = "YOUR_DESTINATION"

let url = "https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=\(origin)&destinations=\(destination)&key=\(apiKey)"

Alamofire.request(url).responseJSON { response in
    if let data = response.data {
        do {
            let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any]
            if let distance = json?["rows"] as? [[String: Any]] {
                if let value = distance[0]["elements"] as? [[String: Any]] {
                    if let result = value[0]["distance"] as? [String: Any] {
                        if let text = result["text"] {
                            print("거리: \(text)")
                        }
                    }
                }
            }
        } catch {
            print("Error: \(error.localizedDescription)")
        }
    }
}

위의 코드에서 YOUR_API_KEY, YOUR_ORIGIN, YOUR_DESTINATION을 각각 발급된 API 키, 출발지, 도착지로 바꿔주십시오.

코드 설명

  1. Alamofire를 불러와서 사용할 준비를 합니다.
  2. 사용할 Google Maps Distance Matrix API URL을 생성합니다.
  3. Alamofire를 사용하여 API 요청을 보내고, 응답을 처리하는 클로저를 작성합니다.
  4. 응답 데이터를 JSON으로 파싱하여 거리 정보를 추출하는 코드를 작성합니다.
  5. 거리 정보를 출력합니다.

실행 및 결과

위의 코드를 실행하면, Google Maps Distance Matrix API를 통해 실시간 거리 정보를 가져와서 출력합니다.

거리: 10.2 km

마무리

이번 포스트에서는 Swift와 Alamofire를 사용하여 실시간 거리를 측정하는 방법을 알아보았습니다. 알라모파이어의 강력한 기능을 활용하여 네트워킹 작업을 간편하게 처리할 수 있습니다. 더 많은 기능과 API 콜을 사용하려면 공식 문서를 참조해보세요.

감사합니다!