https://developer.apple.com/documentation/corelocation/clgeocoder
"An interface for converting between geographic coordinates and place names."
지리적 좌표와 장소명 사이를 변환하는 인터페이스입니다.
class CLGeocoder : NSObject
CLGeocoder
클래스는 좌표(경도 및 위도로 구체화되는)와 해당 좌표의 사용자 친화적 표현 사이를 변환하는 서비스를 제공합니다. 좌표의 사용자 친화적 표현은 주어진 지역에 상응하는 거리, 도시, 주, 국가 및 지역 정보로 구성되지만, 관심 지점, 랜드마크, 기타 식별할 수 있는 정보 또한 포함합니다. 지오코더 객체는 구체화된 좌표 값에서 장소표시 정보를 찾기 위한 네트워크 기반 서비스로 작동하는 single-shot 객체입니다.
지오코더 객체를 사용하려면 객체를 생성하고, 요청을 시작하기 위해 포워드 혹은 리버스 지오코딩 메소드를 호출해야 한비다. 리버스 지오코딩 요청은 위도 및 경도 값을 받고, 사용자가 읽을 수 있는 주소를 찾습니다. 포워드 지오코딩 요청은 사용자가 읽을 수 있는 주소를 받고 상응하는 위도 및 경도 값을 찾습니다. 포워드 지오코딩 요청은 관심의 지점, 해당 위치의 빌딩과 같은 구체화된 위치에 대한 추가적 정보를 반환할 것입니다. 요청의 두 타입의 경우 결과는 CLPlacemark
객체를 사용해서 반환됩니다. 포워드 지오코딩 요청의 경우 제공된 정보가 다양한 위치를 산출하면 여러 장소표시 객체가 반환될 것입니다.
반환할 정보의 타입이 무엇인지에 대해 현명한 결정을 하기 위해 지오코더 서버는 요청 처리 시 제공받은 모든 정보를 사용합니다. 예를 들어 사용자가 고속도로를 따라 빠르게 이동하면 전체적인 지역을 반환하고, 사용자가 지나가는 작은 공원의 이름은 반환하지 않습니다.
앱은 어떻게 앱이 지오코딩을 사용하는지 의식하고 있어야 합니다. 지오코딩 요청은 rate 제한된 앱입니다. 그렇기 때문에 짧은 시간 안에 너무 많은 요청을 만드는 것은 요청 실패가 나타나게 됩니다. (최대 rate가 초과되면 지오코더는 관련 컴플리션 핸들러에 CLError.Code.network
오류를 포함한 오류 객체를 반환합니다.) 아래 내용은 이 클래스를 효과적으로 사용하기 위한 몇 가지 경험 규칙입니다.
컴퓨터 혹은 기기는 지오코더 객체가 자세한 장소표시 정보를 가져올 수 있도록 네트워크에 접근할 수 있어야 합니다. 지오코더는 지역화된 국가 혹은 지역명 및 ISO 국가 코드를 알려주기 위해 충분한 지역적 정보를 저장합니다. 정보가 특정 위치에 사용할 수 없다면 지오코더는 컴플리션 블록에서 오류를 알려줄 것입니다.
지오코더 객체를 MapKit
프레임워크의 클래스와 함께 사용할 수 있으며, 독립적으로 사용할 수도 있습니다.
위도/경도 쌍과 해당 위치의 더 사용자 친화적 설명 사이를 변환합니다.
https://developer.apple.com/documentation/corelocation/converting_between_coordinates_and_user-friendly_place_names
https://velog.io/@panther222128/Converting-Between-Coordinates-and-User-Friendly-Place-Names
지리적 좌표의 사용자 친화적 설명이며, 장소명, 주소, 기타 관련 정보를 포함할 수 있습니다.
https://developer.apple.com/documentation/corelocation/clplacemark
https://velog.io/@panther222128/CLPlacemark