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應(yīng)用內(nèi)跳轉(zhuǎn)系統(tǒng)設(shè)置相關(guān)界面的方法
在iOS開發(fā)中,有時(shí)會(huì)有跳轉(zhuǎn)系統(tǒng)設(shè)置界面的需求,例如提示用戶打開藍(lán)牙或者WIFI,提醒用戶打開推送或者位置權(quán)限等,接下來(lái)通過(guò)本文給大家介紹IOS應(yīng)用內(nèi)跳轉(zhuǎn)系統(tǒng)設(shè)置相關(guān)界面的方法,喜歡的朋友參考下2016-02-02
IOS中UIImageView方法實(shí)現(xiàn)簡(jiǎn)單動(dòng)畫
這篇文章主要介紹了IOS中UIImageView方法實(shí)現(xiàn)簡(jiǎn)單動(dòng)畫的相關(guān)資料,需要的朋友可以參考下2017-05-05
iOS中長(zhǎng)按調(diào)出菜單組件UIMenuController的使用實(shí)例
UIMenuController即是用來(lái)制作我們平時(shí)對(duì)文本長(zhǎng)按屏幕后顯示出的復(fù)制粘貼等選項(xiàng)菜單,下面就來(lái)詳細(xì)整理一下iOS中長(zhǎng)按調(diào)出菜單組件UIMenuController的使用實(shí)例:2016-06-06
iOS的CoreAnimation開發(fā)框架中的Layer層動(dòng)畫制作解析
在iOS中UIView層的屬性會(huì)映射到CoreAnimation框架的CALayer,這里我們來(lái)看一下iOS的CoreAnimation開發(fā)框架中的Layer層動(dòng)畫制作解析,需要的朋友可以參考下2016-07-07
iOS CoreTelephony 實(shí)現(xiàn)監(jiān)聽通話狀態(tài)
這篇文章主要介紹了iOS CoreTelephony 實(shí)現(xiàn)監(jiān)聽通話狀態(tài) 的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07
iOS11上Xcode9 AppIcon 圖標(biāo)不顯示
升級(jí)到iOS11系統(tǒng)下自己的項(xiàng)目桌面app圖標(biāo)不見了,是什么原因呢,經(jīng)過(guò)一番查找,終于發(fā)現(xiàn)問題所在,現(xiàn)在分享給大家2017-11-11

