비디오: arcreative MatchingABC_아크리티브 짝맞추기동영상.MP4(arcreative 아크리티브) 2024
iOS 앱에서 주소를지도 좌표 집합으로 변환하는 것을 전 방향 지오 코딩 이라고하며 좌표 집합에서 주소로 변환하는 것은 역 지오 코딩이라고합니다. 정방향 및 역방향 지오 코딩은 Apple의 CoreLocation 프레임 워크의 일부인 Apple의 CLGeocoder 클래스에서 지원됩니다.
CLGeocoder 클래스는 좌표 (위도와 경도로 지정된)와 해당 좌표의 주소 간 변환을위한 서비스를 제공합니다. CoreLocation 클래스는 역방향 서비스도 제공합니다. 사용자 친화적 인 좌표 표현 인 텍스트 문자열에 대한 좌표 값을 반환합니다.
CoreLocation 객체를 사용하려면 먼저 객체를 만든 다음 정방향 또는 역방향 지오 코딩 메시지를 보냅니다.
-
역 지오 코딩: 위 요청은 위도와 경도 값을 사용하여 사용자가 읽을 수있는 주소를 찾습니다.
-
정방향 지오 코딩: 이 요청은 사용자가 읽을 수있는 주소를 사용하여 해당 위도 및 경도 값을 찾습니다. 또한 순방향 지오 코딩 요청은 해당 위치에서 관심 지점 또는 건물과 같은 지정된 위치에 대한 추가 정보를 반환 할 수 있습니다.
두 유형의 요청 모두 결과가 객체 배열로 완료 핸들러 블록에 반환됩니다. 순방향 지오 코딩 요청의 경우 제공되는 정보가 여러 위치를 제공 할 경우 여러 CLPlacemark 객체가 반환 될 수 있습니다.
CLPlacemark 객체는 다음 속성을 포함합니다.
-
location: 정방향 지오 코딩에 매우 유용합니다.
-
addressDictionary: 장소 표시의 주소록 키 및 값을 포함하는 사전
-
ISOcountryCode: 약어 국가 이름
-
country: 이름 국가
-
우편 번호
-
행정 구역:시 /도
-
subAdministrativeArea: 행정 구역 추가 정보 (예: 카운티)
-
지역: 도시
-
subLocality: 추가 도시 수준 정보
-
거리:
-
subThoroughfare: 건물 번호와 같은 추가 거리 수준 정보
-
지역: CLRegion
-
경계표 및 지리 정보는 다음과 같은 경우도 있습니다. 다음 속성의 CLPlacemark 객체에서 사용할 수 있습니다.
areasofInterest: 장소 표시와 관련된 관심 영역
-
inlandWater: 장소 표시와 관련된 내륙 수역의 이름
-
ocean: 해양의 이름 그 장소와 관련된 mark
-
반환 할 정보 유형에 대한 현명한 결정을 내리기 위해 지오 코더 서버는 요청을 처리 할 때 제공된 모든 정보를 사용합니다.예를 들어 사용자가 고속도로를 따라 빨리 이동하는 경우 지오 코더는 사용자가 지나가고있는 작은 공원의 이름이 아닌 전체 지역의 이름을 반환 할 수 있습니다.
다음은 CLGeocoder 객체를 사용하기위한 다소 느슨한 규칙 (Apple 's)입니다.
단일 사용자 작업에 대해 하나 이상의 지오 코딩 요청을 보냅니다. 즉, 첫 번째 요청이 완료 될 때까지 다른 요청을 시작하지 마십시오.
-
앱에 둘 이상의지도 위치에서 지오 코딩 된 위치가 필요한 경우 다른 지오 코딩 요청을 저장하는 대신 초기 지오 코딩 요청의 결과를 저장 한 다음 다시 사용하십시오.
-
사용자가 현재 위치를 자동으로 업데이트하려는 경우 (예: 사용자가 이동할 때) 사용자가 상당한 거리를 이동했거나 합리적인 시간이 경과 한 경우에만 또는 새로운 위치 정보를 요청합니다. 예를 들어 일반적인 상황에서는 분당 하나 이상의 지오 코딩 요청을 보내서는 안됩니다.
-
앱이 비활성 상태이거나 백그라운드에서 실행중인 경우 지오 코딩 요청을 시작하지 마세요.
-
iOS 기반 장치는 CLGeocoder 객체가 자세한 장소 표시 정보를 반환하기 위해 네트워크에 액세스 할 수 있어야합니다. iOS는 여러 위치에 대해 현지화 된 국가 이름과 ISO 국가 코드를보고하기에 로컬로 충분한 정보를 저장하지만 특정 위치에 국가 정보를 사용할 수없는 경우 CLGeocoder 객체는 여전히 오류를보고 할 수 있습니다.
-
추정 할 수 있듯이 지오 코딩은 비용이 많이 들기 때문에 이러한 규칙은 데이터 캐싱을 강조하고 필요하지 않으면 업데이트하지 않는 이유입니다.
CLGeocoder 객체는 MapKit 프레임 워크의 클래스와 함께 또는 독립적으로 사용할 수 있습니다.