高德地图使用 - 1
1. 在高德开发者中心控制台创建key
需要注意的是:key的名称是自定义的,bundleId是需要使用API的项目的。
高德控制台.png
2. 使用cocoaPods导入高德SDK
代码:注:(* 使用“--”符号的地方需要使用“#”替代 *)
platform :ios, '6.0' #手机的系统 target 'YourProjectTarget' do --pod 'AMap3DMap' #3D地图SDK pod 'AMap2DMap' #2D地图SDK (2D和3D不能同时使⽤用) pod 'AMapSearch' #搜索服务SDK end
在Xcode项目中创建podfile文件,将上方代码放入。
3. 在项目中添加初始化高德APPKey
在APPdelegate中
导入头文件:
#import <AMapFoundationKit/AMapFoundationKit.h>
添加如下代码:
[AMapServices sharedServices].apiKey = @"您的Key";
4. 在项目中导入mapView
-
准备工作:在
plist
文件中添加ATS字段
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict> -
准备工作:在
plist
文件中添加schemes 白名单设置
<key>LSApplicationQueriesSchemes</key>
<array>
<string>iosamap</string>
</array>
其中iosamap为高德地图的关键字不能修改 -
在工程中导入地图
- 在
AppDelegate.m
文件中初始化高德地图的appkey
引入基础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;
} - 在地图上绘制定位点的方法
-
开启定位
在使用定位功能前,需要向info.plist文件中添加定位权限:(以下二选一, 两个都添加默认使用NSLocationWhenInUseUsageDescription):
NSLocationWhenInUseUsageDescription
- 允许在前台使用时获取GPS的描述
NSLocationAlwaysUsageDescription
- 允许永久使用GPS的描述
然后调用方法设置地图定位功能
self.mapView.showsUserLocation = YES; // 用于打开地图默认地图SDK定位功能的方法
[self.mapView setUserTrackingMode: MAUserTrackingModeFollow animated:YES];
//地图跟着位置移动
- 定位相关的拓展方法
1. 自定义定位标注样式(MAAnnotationView *)mapView:(MAMapView *)mapView viewForAnnotation:(id )annotation
2. 自定义定位精度圈的样式。(MAOverlayRenderer *)mapView:(MAMapView *)mapView rendererForOverlay:(id )overlay