1. 在高德開發(fā)者中心控制臺(tái)創(chuàng)建key
需要注意的是:key的名稱是自定義的,bundleId是需要使用API的項(xiàng)目的沟突。
2. 使用cocoaPods導(dǎo)入高德SDK
代碼:注:(* 使用“--”符號的地方需要使用“#”替代 *)
platform :ios, '6.0' #手機(jī)的系統(tǒng) target 'YourProjectTarget' do --pod 'AMap3DMap' #3D地圖SDK pod 'AMap2DMap' #2D地圖SDK (2D和3D不能同時(shí)使?用) pod 'AMapSearch' #搜索服務(wù)SDK end
在Xcode項(xiàng)目中創(chuàng)建podfile文件花颗,將上方代碼放入。
3. 在項(xiàng)目中添加初始化高德APPKey
在APPdelegate中
導(dǎo)入頭文件:
#import <AMapFoundationKit/AMapFoundationKit.h>
添加如下代碼:
[AMapServices sharedServices].apiKey = @"您的Key";
4. 在項(xiàng)目中導(dǎo)入mapView
準(zhǔn)備工作:在
plist
文件中添加ATS字段
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>準(zhǔn)備工作:在
plist
文件中添加schemes 白名單設(shè)置
<key>LSApplicationQueriesSchemes</key>
<array>
<string>iosamap</string>
</array>
其中iosamap為高德地圖的關(guān)鍵字不能修改在工程中導(dǎo)入地圖
- 在
AppDelegate.m
文件中初始化高德地圖的appkey
引入基礎(chǔ)SDK頭文件#import <AMapFoundationKit/AMapFoundationKit.h>
并添加如下示例代碼惠拭,配置之前在官申請的高德Key扩劝。
代碼[AMapServices sharedServices].apiKey = @"您的Key";
- 最簡單的顯示地圖界面的方法
- (MAMapView *)mapView{
if (_mapView == nil) {
_mapView = [[MAMapView alloc] initWithFrame:self.view.bounds];
_mapView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
_mapView.delegate = self;
[self.view addSubview:_mapView];
}
return _mapView;
} - 在地圖上繪制定位點(diǎn)的方法
-
開啟定位
在使用定位功能前,需要向info.plist文件中添加定位權(quán)限:(以下二選一求橄, 兩個(gè)都添加默認(rèn)使用NSLocationWhenInUseUsageDescription):
NSLocationWhenInUseUsageDescription
- 允許在前臺(tái)使用時(shí)獲取GPS的描述
NSLocationAlwaysUsageDescription
- 允許永久使用GPS的描述
然后調(diào)用方法設(shè)置地圖定位功能
self.mapView.showsUserLocation = YES; // 用于打開地圖默認(rèn)地圖SDK定位功能的方法
[self.mapView setUserTrackingMode: MAUserTrackingModeFollow animated:YES];
//地圖跟著位置移動(dòng)
- 定位相關(guān)的拓展方法
1. 自定義定位標(biāo)注樣式(MAAnnotationView *)mapView:(MAMapView *)mapView viewForAnnotation:(id )annotation
2. 自定義定位精度圈的樣式今野。(MAOverlayRenderer *)mapView:(MAMapView *)mapView rendererForOverlay:(id )overlay