본문 바로가기
ios 뽀개기/ios 강좌

ios 지도 mkmap 2

by 인생여희 2018. 5. 16.
반응형

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 디바이스에서 실행되지 않고 변환이 필요할 때 마다 디바이스가 연결된 서버에서 실행이 된다.

변환이 끝나면 그 결과가 순차적으로 반환된다. 그래서 지오코딩은 인터넷에 연결되어 있을 때만 장소를 가져올 수 있다.




반응형

댓글