λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
🍎 iOS/UIKit

[iOS] 넀이버지도 μ•± 연동 - Place ID 둜 μ•± μ—΄κΈ°

by Danna 2021. 7. 16.
728x90
728x90

λ‹€λ₯Έ μ•±μ—μ„œ 넀이버 지도λ₯Ό μ—΄κ³ , νŠΉμ • μœ„μΉ˜λ₯Ό λ³΄μ—¬μ£ΌλŠ” 방법을 μž‘μ„±ν•˜λ €κ³  ν•©λ‹ˆλ‹€!


namvermap.github.io

곡식 κ°€μ΄λ“œμ˜ λ‚΄μš©μΈλ°, 링크 이동이 μ•ˆλ˜μ–΄μ„œ λΆˆνŽΈν•œ 점이 μžˆλ”λΌκ΅¬μš” 😒

일단 "넀이버 지도앱 μ‹€ν–‰" λ²„νŠΌμ€ μ œκ³΅ν•˜μ§€ μ•ŠλŠ”λ‹€κ³ ν•΄μš”. ν•˜μ§€λ§Œ, UIButton 을 μ΄μš©ν•΄ λ²„νŠΌμ„ μƒμ„±ν•˜κ³  URL Scheme 을 μ°Έκ³ ν•΄μ„œ λ„€μ΄λ²„μ§€λ„λ‘œ μ΄λ™ν•˜κ²Œλ” ν•˜λ©΄ λ©λ‹ˆλ‹€ πŸ˜€


πŸ’‘ 지도앱 연동 URL Scheme 

넀이버 지도 앱을 μ—΄μ–΄μ„œ, μ΄λ™ν•˜λŠ” 것이기 λ•Œλ¬Έμ— λ³„λ„μ˜ 넀이버 ν΄λΌμš°λ“œ κ°€μž…μ€ ν•„μš”ν•˜μ§€ μ•Šμ•„μš”!

 

μ§€λ„μ˜ 메인 ν‘œμ‹œ, μ’Œν‘œκ°’μ„ 톡해 μ΄λ™ν•˜λŠ” λ‚΄μš©μ΄ λ‚˜μ™€μžˆλŠ”λ°μš”. μ’Œν‘œ(μœ„λ„&경도)λ₯Ό μ΄μš©ν•΄μ„œ 지도λ₯Ό μ—΄μ–΄μ£Όλ©΄, νŠΉμ • μœ„μΉ˜μ˜ 이름이 λ‚˜νƒ€λ‚˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μž₯μ†Œ ν‘œμ‹œλ„ μ’Œν‘œλ₯Ό 톡해 ν‘œμ‹œν•˜λŠ” λ‚΄μš©λ§Œ 있고, λ„€μ΄λ²„μ§€λ„μ—μ„œ 리뷰, 상세정보가 λ‚˜νƒ€λ‚˜λŠ” μ‹μœΌλ‘œλŠ” μ—°κ²°λ˜μ§€μ•Šμ•„μš” πŸ₯Ί

 

βœ”οΈŽ place id λ₯Ό 톡해 μ—°κ²°ν•  수 μžˆμ§€ μ•Šμ„κΉŒ?! 

μ›Ήμ—μ„œ 지도λ₯Ό 듀어갔을 λ•Œ 보면 URL에 place/1793040984  μ΄λŸ°μ‹μœΌλ‘œ λ‚˜νƒ€λ‚˜λŠ”λ°, 뒀에 μˆ«μžκ°€ id λ₯Ό μ˜λ―Έν•˜λŠ” λ“― ν•©λ‹ˆλ‹€.

이λ₯Ό 넀이버지도 URL Scheme 에 맞좰 μž‘μ„±ν•˜λ©΄ nmap://place?id=1793040984 이고, 뒀에 appname 을 μ—°κ²°ν•΄μ£Όλ©΄λΌμš”!

 

예제둜 μ‹¬ν”Œν•˜κ²Œ λ²„νŠΌ ν•˜λ‚˜λ₯Ό μ—°κ²°ν•΄μ„œ, ν„°μΉ˜ν–ˆμ„ λ•Œ 넀이버지도가 열리도둝 μž‘μ„±ν•œ μ½”λ“œμž…λ‹ˆλ‹€ πŸ˜‰ (URL μ œμ™Έ λ¬Έμ„œμ˜ μ½”λ“œμ™€ 동일)

넀이버지도 앱이 λ‹€μš΄λ‘œλ“œ λ˜μ–΄μžˆλ‹€λ©΄, μ‹€ν–‰ν•˜κ³ . λ‹€μš΄λ‘œλ“œ λ˜μ–΄μžˆμ§€ μ•Šλ‹€λ©΄ μ•±μŠ€ν† μ–΄λ‘œ μ—°κ²°λ©λ‹ˆλ‹€.

class ViewController: UIViewController {
    
    @IBOutlet weak var button: UIButton!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }

    @IBAction func touchUpButton(_ sender: UIButton) {
        let url = URL(string: "nmap://place?id=1793040984&appname=com.example.appname")!
        let appStoreURL = URL(string: "http://itunes.apple.com/app/id311867728?mt=8")!

        if UIApplication.shared.canOpenURL(url) {
          UIApplication.shared.open(url)
        } else {
          UIApplication.shared.open(appStoreURL)
        }
    }
}

βœ”οΈŽ Info.plist 에 LSApplicationQueriesSchemes μƒμ„±ν•˜κ³  nmap μΆ”κ°€ν•˜κΈ°


πŸ‘€ Place ID vs 검색결과 보여주기

μ œκ°€ κ°œλ°œν•œ Zerobin μ•±μ—μ„œλŠ” νŠΉμ • μž₯μ†Œλ§Œμ„ λ³΄μ—¬μ£ΌλŠ”κ²Œ μ’‹μ•„ Place ID λ₯Ό μ΄μš©ν–ˆμŠ΅λ‹ˆλ‹€.

κ²€μƒ‰κ²°κ³Όλ‘œ λ…ΈμΆœν•  경우 search?query=encodedURL ν˜•μ‹μœΌλ‘œ ν•˜μ‹œλ©΄λ©λ‹ˆλ‹Ή.


넀이버지도λ₯Ό μ—΄μ–΄ νŠΉμ • μ’Œν‘œ ν‘œμ‹œ, 검색 κ²°κ³Ό ν‘œμ‹œ, κΈΈμ°ΎκΈ° λ“± 더 μžμ„Έν•œ λ‚΄μš©μ€ μ•„λž˜ λ¬Έμ„œμ—μ„œ μ°Έκ³ ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€ !

 

지도앱 연동 URL Scheme - Maps

μΏ ν‚€ 제곡 λ™μ˜ λ‹Ήμ‚¬λŠ” κ³ κ°λ‹˜μ˜ λΈŒλΌμš°μ§• 기반 정보λ₯Ό λ°”νƒ•μœΌλ‘œ κ΄€λ ¨ 정보 및 κ΄‘κ³  μ œκ³΅μ„ μœ„ν•˜μ—¬ 지식 기반 μΏ ν‚€λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

guide.ncloud-docs.com

 

728x90
728x90