iOS 原生地圖地理編碼與反地理編碼(詳解)
當(dāng)我們要在App實(shí)現(xiàn)功能:輸入地名,編碼為經(jīng)緯度,實(shí)現(xiàn)導(dǎo)航功能。
那么,我需要用到原生地圖中的地理編碼功能,而在Core Location中主要包含了定位、地理編碼(包括反編碼)功能。
在文件中導(dǎo)入
#import <CoreLocation/CoreLocation.h>
地理編碼:
/** 地理編碼 */ - (void)geocoder { CLGeocoder *geocoder=[[CLGeocoder alloc]init]; NSString *addressStr = @"廣東省深圳市寶安區(qū)";//位置信息 [geocoder geocodeAddressString:addressStr completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) { if (error!=nil || placemarks.count==0) { return ; } //創(chuàng)建placemark對(duì)象 CLPlacemark *placemark=[placemarks firstObject]; //經(jīng)度 NSString *longitude =[NSString stringWithFormat:@"%f",placemark.location.coordinate.longitude]; //緯度 NSString *latitude =[NSString stringWithFormat:@"%f",placemark.location.coordinate.latitude]; NSLog(@"經(jīng)度:%@,緯度:%@",longitude,latitude); }]; }
地理反編碼:
/** 地理反編碼 */ - (void)reverseGeocoder{ //創(chuàng)建地理編碼對(duì)象 CLGeocoder *geocoder=[[CLGeocoder alloc]init]; //經(jīng)度 NSString *longitude = @"113.23"; //緯度 NSString *latitude = @"23.16"; //創(chuàng)建位置 CLLocation *location=[[CLLocation alloc]initWithLatitude:[latitude floatValue] longitude:[longitude floatValue]]; //反地理編碼 [geocoder reverseGeocodeLocation:location completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) { //判斷是否有錯(cuò)誤或者placemarks是否為空 if (error !=nil || placemarks.count==0) { NSLog(@"%@",error); return ; } for (CLPlacemark *placemark in placemarks) { //詳細(xì)地址 NSString *addressStr = placemark.name; NSLog(@"詳細(xì)地址1:%@",addressStr); NSLog(@"詳細(xì)地址2:%@",placemark.addressDictionary); NSLog(@"詳細(xì)地址3:%@",placemark.locality); } }]; }
以上這篇iOS 原生地圖地理編碼與反地理編碼(詳解)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
iOS系統(tǒng)緩存方面開發(fā)的相關(guān)基礎(chǔ)
這篇文章主要介紹了iOS系統(tǒng)緩存方面開發(fā)的相關(guān)基礎(chǔ),示例代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2015-10-10使用UItableview在iOS應(yīng)用開發(fā)中實(shí)現(xiàn)好友列表功能
這篇文章主要介紹了使用UItableview在iOS應(yīng)用開發(fā)中實(shí)現(xiàn)一個(gè)好友列表功能的方法,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2015-12-12iOS開發(fā)中Quartz2D繪圖路徑的使用以及條紋效果的實(shí)現(xiàn)
這篇文章主要介紹了iOS開發(fā)中Quartz2D繪圖路徑的使用以及條紋效果的實(shí)現(xiàn),代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2015-11-11iOS中UILabel text兩邊對(duì)齊的實(shí)現(xiàn)代碼
本文通過一段實(shí)例代碼給大家介紹了ios中uilabel text兩邊對(duì)齊的實(shí)現(xiàn)方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下2017-01-01簡(jiǎn)述iOS屬性中的內(nèi)存管理參數(shù)
這篇文章主要介紹了簡(jiǎn)述iOS屬性中的內(nèi)存管理參數(shù) 的相關(guān)資料,需要的朋友可以參考下2018-02-02iOS開發(fā)中使用UIScrollView實(shí)現(xiàn)無限循環(huán)的圖片瀏覽器
這篇文章主要介紹了iOS開發(fā)中使用UIScrollView實(shí)現(xiàn)無限循環(huán)的圖片瀏覽器的方法,感興趣的小伙伴們可以參考一下2016-03-03詳解iOS 用于解決循環(huán)引用的block timer
這篇文章主要介紹了詳解iOS 用于解決循環(huán)引用的block timer,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12