Swift MkMapView로 지도 어플리케이션 만들기 (11) - 국토지리원에서 장클릭 위치의 해발

문장 목록


Swift MkMapView로 지도 어플리케이션을 만들어 보았습니다(기사 일람).

국토지리원


국토지리원은 고도의 WebAPI 가져오기을 공개했다.
사용 방법은 상기 링크를 참조하십시오.

사용 예


https://cyberjapandata2.gsi.go.jp/general/dem/scripts/getelevation.php?lon=140.08531&lat=36.103543&outtype=JSON
브라우저에서 위의 URL에 액세스하십시오.
{"elevation":25.3,"hsrc":"5m\uff08\u30ec\u30fc\u30b6\uff09"}
상술한 정보를 표시하는 웹 페이지를 표시합니다.
elevation은 해발이기 때문에 지정한 위치는 해발 25.3미터이다.

국토지리원에서 머리를 길게 빼는 위치의 해발을 얻다


  • URL 생성
    URL을 생성하여 긴 공사의 위치에 핀을 세워 거리를 표시하다에 설정된 인덱스 높이를 가져옵니다.
    ViewController.swift:URL 생성
    // 国土地理院のURL
    let baseUrl = "https://cyberjapandata2.gsi.go.jp/general/dem/scripts/getelevation.php?"
    // ロングタップ地点でクエリを設定する
    let lonUrl = "&lon=" + pointAno.coordinate.longitude.description
    let latUrl = "&lat=" + pointAno.coordinate.latitude.description
    // アウトプット形式をJSONに設定する
    let outtypeUrl = "&outtype=JSON"
    // URLとクエリを連結
    let listUrl = baseUrl + lonUrl + latUrl + outtypeUrl        
    // URLを生成する
    guard let url = URL(string: listUrl) else { return }
    

  • 고도를 얻다
    URLSession에서 생성된 URL에 액세스하여 높이를 지정합니다.
    ViewController.swift: 고도 가져오기
    
    // URLを生成する
    guard let url = URL(string: listUrl) else { return }
    URLSession.shared.dataTask(with: url) { (data, response, error) in
        if error != nil {
            print(error!.localizedDescription)
        }
        guard let data = data else { return }
        // JSONを取得する
        let json = try? JSONDecoder().decode(JsonElevation.self, from: data)
        if nil != json {
            // mainスレッドで処理する
            DispatchQueue.main.async {
                // JSONから標高を取得する
                self.longTapElevation = (json?.elevation)!
            }
        }.resume()
    }
    
    하위 스레드에서 주 스레드로 전환하기 위해 DispatchQueue.main.async 사용.
  • 문제: HTTP 사용 시 설정(HTTPS 불필요)


    HTTP 통신을 권장하지 않고 HTTP 통신을 수행하는 경우 Info.plist를 설정하지 않으면 실행 중 오류가 발생했습니다.

    App Transport Security Settings를 추가하고 Allow Arbitrary Loads를 YES로 설정합니다.
    이렇게 하면 HTTP 통신을 할 수 있다.

    참조 파일


    국토지리원 도움

    좋은 웹페이지 즐겨찾기