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미터이다.
국토지리원에서 머리를 길게 빼는 위치의 해발을 얻다
국토지리원은 고도의 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 통신을 할 수 있다.
참조 파일
국토지리원 도움
Reference
이 문제에 관하여(Swift MkMapView로 지도 어플리케이션 만들기 (11) - 국토지리원에서 장클릭 위치의 해발), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yuta-sasaki/items/df32926d6755972cb421
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
국토지리원 도움
Reference
이 문제에 관하여(Swift MkMapView로 지도 어플리케이션 만들기 (11) - 국토지리원에서 장클릭 위치의 해발), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yuta-sasaki/items/df32926d6755972cb421텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)