개발/SWIFT 아이폰 / / 2023. 7. 25. 11:16

SwiftUI 티맵 내비 호출 및 경로 안내

반응형

티맵 내비 호출 및 경로 안내

 

Info.plist

LSApplicationQueriesSchemes 추가 및 Item에 tmap 추가

 

버튼 생성 및 클릭 이벤트 설정

struct ContentView: View {
    var body: some View {
        VStack {
            // 버튼을 누르면 T맵으로 길찾기 시작
            Button("길찾기 시작") {
                openTmapForNavigation()
            }
        }
    }

    func openTmapForNavigation() {
        let latitude: Double = 37.5666103 // 원하는 목적지의 위도
        let longitude: Double = 126.9783882 // 원하는 목적지의 경도
        
        // 도착지 이름 + 도착지 좌표
        let urlStr = "tmap://route?rGoName=목적지&rGoX=\(longitude)&rGoY=\(latitude)"
        
        // url에 한글이 들어가있기 때문에 인코딩을 따로 해줘야함
        guard let encodedStr = urlStr.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else { return }
        guard let url = URL(string: encodedStr) else { return }
        
        // tmap 앱스토어 url
        guard let appStoreURL = URL(string: "http://itunes.apple.com/app/id431589174") else { return }

        // tmap 앱이 있다면,
        if UIApplication.shared.canOpenURL(url) {
            // 길찾기 open
            UIApplication.shared.open(url)
        } else { // tmap 앱이 없다면,
            // tmap 설치 앱스토어로 이동
            UIApplication.shared.open(appStoreURL)
        }
    }
}
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유