iOS調(diào)用高德地圖SDK的完整步驟
準(zhǔn)備工作:
安裝CocoaPods使用下載第三方庫(kù)相同的方法下載SDK
方法如下:
(1)打開(kāi)終端,cd 文件路徑 進(jìn)入到所創(chuàng)建的項(xiàng)目文件中
(2)輸入pod init為該項(xiàng)目創(chuàng)建Podfile文件
(3)在Podfile文件中添加pod 'AMap3DMap'或pod 'AMap2DMap'
其中3D的是3D地圖,2D的是2D地圖,選擇其一添加即可,若全選的話會(huì)發(fā)生沖突致使SDK安裝失敗
(4)輸入pod install下載SDK(若下載的SDK不是最新版可輸入pod repo update進(jìn)行更新)下載完成后即可點(diǎn)擊.xcworkspace文件進(jìn)入項(xiàng)目編寫(xiě)代碼了另外需要注冊(cè)成為高德地圖的個(gè)人開(kāi)發(fā)者并前往“高德開(kāi)放平臺(tái)控制臺(tái)”申請(qǐng) iOS Key。該iOS key在實(shí)際的項(xiàng)目編寫(xiě)中需要用到
其中申請(qǐng)key的方法如下:
登錄或注冊(cè)
1、如果您還未注冊(cè)過(guò),請(qǐng)點(diǎn)擊此處完成注冊(cè)。
2、如果您已經(jīng)注冊(cè)過(guò),請(qǐng)登錄后在申請(qǐng)key,申請(qǐng)與注冊(cè)的入口如下:

創(chuàng)建應(yīng)用
進(jìn)入“控制臺(tái)—應(yīng)用管理—?jiǎng)?chuàng)建新應(yīng)用”,點(diǎn)此進(jìn)入。

申請(qǐng)為該應(yīng)用添加key
1、點(diǎn)擊左側(cè)“+”新增Key。

2、填寫(xiě)必要字段,此時(shí)需要選擇正確的key類(lèi)型。

在上圖中選擇iOS平臺(tái),選擇后還需要填寫(xiě)安全碼Bundle ID: ,該安全碼的獲取如下圖:

將一切填好后就可以獲取到我們需要的key了
接下來(lái)就進(jìn)入到項(xiàng)目?jī)?nèi)部的設(shè)置了:
1.iOS9為了增強(qiáng)數(shù)據(jù)訪問(wèn)安全,將所有的http請(qǐng)求都改為了https,為了能夠在iOS9中正常使用地圖SDK,需要在"Info.plist"中進(jìn)行如下配置,否則影響SDK的使用,(見(jiàn)下圖):

我們需要在App Transport Security Settings下創(chuàng)建Allow Aebitrary Loads,并將其Type為Boolean類(lèi)型的Value設(shè)置為YES;如本身就沒(méi)有App Transport Security Settings的話則需要?jiǎng)?chuàng)建一個(gè)
2.配置高德key到AppDelegate.m文件:
#import <AMapFoundationKit/AMapFoundationKit.h>
//需要引入AMapFoundationKit.h頭文件
……
(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//將下方 您的Key 部分修改為剛才所獲取到的key就行;
[AMapServices sharedServices].apiKey = @"您的Key";
……
}
3.加載地圖的方法:
在ViewController.m文件相應(yīng)的方法中進(jìn)行地圖初始化,初始化的步驟:
(1) import MAMapKit.h 頭文件;
(2)構(gòu)造MAMapView對(duì)象;
(3)將MAMapView添加到Subview中。
對(duì)于3D矢量地圖,在 viewDidLoad 方法中添加代碼:
#import <MAMapKit/MAMapKit.h>
-(void) viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
///初始化地圖
MAMapView *_mapView = [[MAMapView alloc] initWithFrame:self.view.bounds];
///把地圖添加至view
[self.view addSubview:_mapView];
}
重要的點(diǎn):
我們?cè)趯?shí)現(xiàn)了以上操作之后,是仍然無(wú)法成功加載出地圖的,此時(shí)運(yùn)行會(huì)提示高德地圖SDK隱私合規(guī)相關(guān)的問(wèn)題,這是由于法律法規(guī)對(duì)于APP所要求的內(nèi)容,必須要通過(guò)這個(gè)檢測(cè),否則就無(wú)法顯示地圖視圖,不過(guò)不用慌,看下面:
在構(gòu)造MAMapView(MAOfflineMap,MAOfflineMapViewController,MATraceManager等)之前必須進(jìn)行合規(guī)檢查,設(shè)置接口之前保證隱私政策合規(guī),檢查接口如下:
[MAMapView updatePrivacyShow:AMapPrivacyShowStatusDidShow privacyInfo:AMapPrivacyInfoStatusDidContain]; [MAMapView updatePrivacyAgree:AMapPrivacyAgreeStatusDidAgree];
將上述兩行接口代碼添加到加載地圖視圖的代碼之前即可成功加載地圖的視圖。
即就是把ViewController.m中的代碼寫(xiě)成如下形式:
#import <MAMapKit/MAMapKit.h>
-(void) viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//添加隱私合規(guī)接口代碼
[MAMapView updatePrivacyShow:AMapPrivacyShowStatusDidShow privacyInfo:AMapPrivacyInfoStatusDidContain];
[MAMapView updatePrivacyAgree:AMapPrivacyAgreeStatusDidAgree];
///初始化地圖
MAMapView *_mapView = [[MAMapView alloc] initWithFrame:self.view.bounds];
///把地圖添加至view
[self.view addSubview:_mapView];
}
此時(shí),我們的全部流程就結(jié)束了,實(shí)際的運(yùn)行結(jié)果如下:

可以看到地圖視圖已經(jīng)顯示在我們的手機(jī)上了。
總結(jié)
到此這篇關(guān)于iOS調(diào)用高德地圖SDK的文章就介紹到這了,更多相關(guān)iOS調(diào)用高德地圖SDK內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IOS MenuViewController實(shí)現(xiàn)彈出菜單效果
這篇文章主要介紹了IOS MenuViewController實(shí)現(xiàn)彈出菜單效果,實(shí)現(xiàn)一個(gè)從下移動(dòng)上來(lái)的彈出菜單,背景逐漸變深,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
iOS實(shí)現(xiàn)簡(jiǎn)易的計(jì)算器
這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)簡(jiǎn)易的計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
解決iOS UITextField 編輯時(shí)文本偏移問(wèn)題
這篇文章主要介紹了解決iOS UITextField 編輯時(shí)文本偏移問(wèn)題,需要的朋友可以參考下2017-05-05
IOS點(diǎn)擊按鈕隱藏狀態(tài)欄詳解及實(shí)例代碼
這篇文章主要介紹了IOS點(diǎn)擊按鈕隱藏狀態(tài)欄詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02

