ios 지도 mkmap 2
위도와 경로 좌표를 이용해서 해당 주소 데이터를 찾는 방법을 알아본다. 먼저 앞의 포스팅에는 주소를 이용해서 미국 캘리포니아에 있는 애플의 위도와 경도를 구했다. 그 데이터를 이용해서 이번엔 주소를 찾아본다. 코드는 아래와 같다. 간단하다.
//역방향 지오코딩
let geoCoder = CLGeocoder()
//cllocatoin객체는 위도와 경로 좌표로 초기화
let newLocation = CLLocation(latitude: 37.3316833, longitude: -122.0301031)
//geoCoder에 reverseGeocodeLocation 메서드로 전달 된다.
geoCoder.reverseGeocodeLocation(newLocation, completionHandler: { (placemarks, error) in
if error != nil {
print("에러 발생 \(error!.localizedDescription)")
}
//값이 있으면 배열 값으로 반환
if placemarks!.count > 0 {
let placemark = placemarks![0]
//딕셔너리 값으로 반환
let addressDictionary = placemark.addressDictionary
//key 값을 이용해서 주소 찾기
let address = addressDictionary!["Street"]
let city = addressDictionary!["City"]
let state = addressDictionary!["State"]
let zip = addressDictionary!["ZIP"]
print("\(address!) \(city!) \(state!) \(zip!)")
}
})
결과 값은 아래와 같다.
1 Infinite Loop 쿠퍼티노 CA 95014
참고!
실제로 지오코딩은 ios 디바이스에서 실행되지 않고 변환이 필요할 때 마다 디바이스가 연결된 서버에서 실행이 된다.
변환이 끝나면 그 결과가 순차적으로 반환된다. 그래서 지오코딩은 인터넷에 연결되어 있을 때만 장소를 가져올 수 있다.
'ios 뽀개기 > ios 강좌' 카테고리의 다른 글
mkMap을 이용해서 길찾기 기능 구현 (0) | 2018.05.16 |
---|---|
ios 지도 mkmap 3 - 해당 주소 지도에 표시하기&현재위치 (0) | 2018.05.16 |
ios 지도 mkmap 1 (0) | 2018.05.16 |
Ios AutoLayout 7 - AutoLayout Landscape 이슈 (0) | 2018.05.08 |
Ios AutoLayout 6 - UIButton 이벤트와 UIPageControl속성 (0) | 2018.05.07 |
댓글