NaviApi
public class NaviApi
카카오내비 API 호출을 담당하는 클래스입니다.
원하는 목적지 정보를 입력하여 NaviLocation
객체를 만들고 길안내 API를 호출할 수 있습니다.
사용하는 좌표계를 변경하거나 각종 옵션을 설정하려면 NaviOptions
를 생성하고 해당 API options 파라미터로 함께 전달합니다.
경유지가 있다면 경유지에 대한 NaviLocation
객체를 추가로 만들고 배열에 담아 해당 API viaList 파라미터로 전달합니다.
아래는 간단한 카카오내비 길안내 예제입니다.
let destination = NaviLocation(name: "카카오판교오피스", x: 321286, y: 533707)
guard let navigateUrl = NaviApi.shared.navigateUrl(destination: destination) else {
return
}
UIApplication.shared.open(navigateUrl, options: [:], completion: nil)
-
간편하게 API를 호출할 수 있도록 제공되는 공용 싱글톤 객체입니다.
Declaration
Swift
public static let shared: NaviApi
-
카카오내비 장소 공유 URL을 얻습니다. 획득한 URL을 열면 카카오내비 앱이 실행됩니다.
Declaration
Swift
public func shareUrl(destination:NaviLocation, options:NaviOptions? = nil, viaList:[NaviLocation]? = nil) -> URL?
-
카카오내비 길안내 URL을 얻습니다. 획득된 URL을 열면 카카오내비 앱이 실행됩니다.
Declaration
Swift
public func navigateUrl(destination:NaviLocation, options:NaviOptions? = nil, viaList:[NaviLocation]? = nil) -> URL?
-
웹 길안내 URL을 얻습니다. 획득한 URL을 브라우저에 요청하면 카카오내비 앱이 설치되지 않은 환경에서도 길안내를 받을 수 있습니다.
Important
외부 브라우저로 열지 않고 웹뷰를 사용할 경우 추가 설정이 필요합니다. 사용자의 위치정보에 접근할 수 있도록 info.plist 파일에 “Privacy - Location When In Use Usage Description” 항목을 추가해야 합니다.Declaration
Swift
public func webNavigateUrl(destination:NaviLocation, options:NaviOptions? = nil, viaList:[NaviLocation]? = nil) -> URL?