iOS開發(fā)之地理編碼 反地理編碼

上一章有一些地理編碼 反地理編碼的理論知識嫌套,有興趣的話可以去了解一下
下面是代碼示例:

//
//  ViewController.m
//  地理編碼 反地理編碼
//
//  Created by scsys on 16/3/8.
//  Copyright ? 2016年 安靜SRR. All rights reserved.
//

#import "ViewController.h"
#import <CoreLocation/CoreLocation.h>
@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    //1掠抬、地理編碼:把地名轉(zhuǎn)換成位置信息  用處:把文字描述的位置轉(zhuǎn)換成地圖上的經(jīng)緯度
    //2绊率、反地理編碼:把位置信息轉(zhuǎn)換成文字 用處:可以通過點擊選擇地圖上的某一位置來獲得這一位置文字的描述
    //地理編解碼  在編解碼的時候是一個耗時的操作  可以使用異步操作
   CLGeocoder *geocode = [[CLGeocoder alloc]init];
    
    [geocode geocodeAddressString:@"童話王國" completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
        CLPlacemark *placemark = placemarks.firstObject;
        CLLocation *loc = placemark.location;
        
        NSLog(@"經(jīng)度%f緯度%f",loc.coordinate.latitude,loc.coordinate.longitude);
        //CLRegion:方圓 范圍
       // CLCircularRegion:是CLRegion的子類表示圓形一個范圍
        CLLocationCoordinate2D coordinate ;
        coordinate.latitude = 34;
        coordinate.longitude = 113;
        CLCircularRegion *region = [[CLCircularRegion alloc]initWithCenter:coordinate radius:kCLLocationAccuracyBest identifier:@"ll"];
        [geocode geocodeAddressString:@"童話王國" inRegion:region completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
            
            CLPlacemark *placemark = placemarks.firstObject;
            CLLocation *loc = placemark.location;
            
            NSLog(@"經(jīng)度%f緯度%f",loc.coordinate.latitude,loc.coordinate.longitude);

        }];
        
        
        NSLog(@"%@",[placemark.addressDictionary[@"FormattedAddressLines"] firstObject]);
    }];
/*
   使用GCD的異步操作來處理這個耗時的操作趋惨,防止阻塞主線程
    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
    
    dispatch_async(queue, ^{
        [geocode geocodeAddressString:@"童話王國" completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
            CLLocation *loc = placemarks.firstObject.location;
            
                    NSLog(@"經(jīng)度%f緯度%f",loc.coordinate.latitude,loc.coordinate.longitude);
            
          dispatch_queue_t main =  dispatch_get_main_queue();
            dispatch_sync(main, ^{
             //更新UI 要在主線程更新UI
            });
            
        }];
        
    });*/
    
    
    //反地理編碼:把經(jīng)緯度轉(zhuǎn)換成地名
    CLLocation *loc = [[CLLocation alloc]initWithLatitude:34.707 longitude:113.509];
    [geocode reverseGeocodeLocation:loc completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {
        /*
         placemarks這個數(shù)組里面只有一個元素,可以通過這個元素獲得以下信息:
         <1>location:位置信息
         <2>region:范圍
         <3>addressDictionary:地址信息字典
         1评矩、name:地名
         2饺藤、thoroughfare:街道
         3、subThoroughfare:街道的副標(biāo)題
         4干旧、locality:城市
         5渠欺、subLocality:城市的相關(guān)信息
         6、administrativeArea:州 省
         7椎眯、subAdministrativeArea:州省相關(guān)信息
         8挠将、postalCode:郵政編碼
         9胳岂、ISOcountryCode:國家編碼
         10、country:國家
         11舔稀、inlandWater:水源 湖泊
         12乳丰、ocean:海洋
         13、areasOfInterest:相關(guān)的地標(biāo)
         */
        
        NSLog(@"%@",placemarks.firstObject.name);
    }];
    
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末内贮,一起剝皮案震驚了整個濱河市产园,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌夜郁,老刑警劉巖什燕,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異竞端,居然都是意外死亡屎即,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門婶熬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來剑勾,“玉大人,你說我怎么就攤上這事赵颅∷淞恚” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵饺谬,是天一觀的道長捂刺。 經(jīng)常有香客問我,道長募寨,這世上最難降的妖魔是什么族展? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮拔鹰,結(jié)果婚禮上仪缸,老公的妹妹穿的比我還像新娘。我一直安慰自己列肢,他們只是感情好恰画,可當(dāng)我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瓷马,像睡著了一般拴还。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上欧聘,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天片林,我揣著相機與錄音,去河邊找鬼。 笑死费封,一個胖子當(dāng)著我的面吹牛焕妙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播孝偎,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼访敌,長吁一口氣:“原來是場噩夢啊……” “哼凉敲!你這毒婦竟也來了衣盾?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤爷抓,失蹤者是張志新(化名)和其女友劉穎势决,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蓝撇,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡果复,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了渤昌。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片虽抄。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖独柑,靈堂內(nèi)的尸體忽然破棺而出迈窟,到底是詐尸還是另有隱情,我是刑警寧澤忌栅,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布车酣,位于F島的核電站,受9級特大地震影響索绪,放射性物質(zhì)發(fā)生泄漏湖员。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一瑞驱、第九天 我趴在偏房一處隱蔽的房頂上張望娘摔。 院中可真熱鬧,春花似錦唤反、人聲如沸凳寺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽读第。三九已至,卻和暖如春拥刻,著一層夾襖步出監(jiān)牢的瞬間怜瞒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留吴汪,地道東北人惠窄。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像漾橙,于是被迫代替她去往敵國和親杆融。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容