clgeocoder:地理編碼器,其中geo是地理的英文單詞geography的簡寫。
1.使用clgeocoder可以完成「地理編碼」和「反地理編碼」
地理編碼:根據給定的地名,獲得具體的位置資訊(比如經緯度、位址的全稱等)
反地理編碼:根據給定的經緯度,獲得具體的位置資訊
(1)地理編碼方法 - (void)geocodeaddressstring:(nsstring *)addressstring completionhandler:(clgeocodecompletionhandler)completionhandler;
(2)反地理編碼方法 - (void)reversegeocodelocation:(cllocation *)location completionhandler: (clgeocodecompletionhandler)completionhandler;
2.clgeocodecompletionhandler
當地理\反地理編碼完成時,就會呼叫clgeocodecompletionhandler
這個block傳遞2個引數
error :當編碼出錯時(比如編碼不出具體的資訊)有值
placemarks :裡面裝著clplacemark物件
3.clplacemark
說明:clplacemark的字面意思是地標,封裝詳細的位址位置資訊
地理位置 @property (nonatomic, readonly) cllocation *location;
區域 @property (nonatomic, readonly) clregion *region;
詳細的位址資訊 @property (nonatomic, readonly) nsdictionary *addressdictionary;
位址名稱 @property (nonatomic, readonly) nsstring *name;
城市 @property (nonatomic, readonly) nsstring *locality;
4.在storyboard中搭建介面如下:
實現**:
@inte***ce viewcontroller ()
//地理編碼
- (ibaction)geocoder:(id)sender;
@property (weak, nonatomic) iboutlet uitextfield *addressfield;
@property (weak, nonatomic) iboutlet uilabel *longitudelabel;
@property (weak, nonatomic) iboutlet uilabel *latitudelabel;
@property (weak, nonatomic) iboutlet uilabel *detailaddresslabel;
//反地理編碼
- (ibaction)reversegeocode:(id)sender;
@property (weak, nonatomic) iboutlet uitextfield *longitudefield;
@property (weak, nonatomic) iboutlet uitextfield *latitudefield;
@property (weak, nonatomic) iboutlet uilabel *reverdedetailaddresslabel;
@property (nonatomic,strong) clgeocoder *geocoder;
@end
@implementation viewcontroller
- (clgeocoder *)geocoder
return _geocoder;
}- (void)viewdidload
//地理編碼(地名-經緯度)
- (ibaction)geocoder:(id)sender else
//取出獲取的地理資訊陣列中的第乙個顯示在介面上
clplacemark *firstmark = [placemarks firstobject];
//詳細位址名稱
self.detailaddresslabel.text = firstmark.name;
//緯度
self.latitudelabel.text = [nsstring stringwithformat:@"%.2f",firstmark.location.coordinate.latitude];
//經度
self.longitudelabel.text = [nsstring stringwithformat:@"%.2f",firstmark.location.coordinate.longitude];
}}];
}//反地理編碼(經緯度-地名)
- (ibaction)reversegeocode:(id)sender else
}];}@end
執行效果如下
(一)地理編碼(位址-座標)
(二)反地理編碼(座標-位址)
ios地理編碼 反地理編碼
1.地理編碼 給定乙個名字 北京 獲得給定名字對應的位置 經緯度 2反地理編碼 給定義個位置 經緯度 獲得這個位置對應的詳細資訊 國家 省 街道 樓 import viewcontroller.h import inte ce viewcontroller end implementation vi...
(七十七)地理編碼與反地理編碼
所謂地理編碼,指的是通過地名獲取位置資訊,例如經緯度 詳細位址等。所謂反地理編碼,指的是通過經緯度 海拔等資訊獲取地理位置資訊。在ios上使用地理編碼和反地理編碼,如果是手動輸入經緯度,是不需要獲取使用者授權的,但是一般是獲取使用者的經緯度,然後再通過地理編碼實現精確定位,因此需要授權,本文因為是單...
(七十七)地理編碼與反地理編碼
所謂地理編碼。指的是通過地名獲取位置資訊。比如經緯度 具體位址等。所謂反地理編碼,指的是通過經緯度 海拔等資訊獲取地理位置資訊。在ios上使用地理編碼和反地理編碼,假設是手動輸入經緯度,是不須要獲取使用者授權的,可是通常是獲取使用者的經緯度,然後再通過地理編碼實現精確定位,因此須要授權。本文由於是單...