iOS—— 调用高德地图SDK

iOS—— 调用高德地图SDK

我们在许多App中可以发现关于地图的调用以及定位等等功能都是什么重要的,比如滴滴打车,美团外卖等等都是十分依赖于地图的。所以我们就应该学会如和去调用地图。本周我就学习了一下如何去调用高德地图。

调用高德地图的过程

首先我们需要添加第三方库:

    打开终端,输入’cd’,然后将文件拖入终端 第二步,touch Podfile为项目创建Podfile文件 打开Podfile文件然后pod 'AMap3DMap’或pod ‘AMap2DMap’
    其中3D的是3D地图,2D的是2D地图,选择其一添加即可,若全选的话会发生冲突致使SDK安装失败。 输入pod install下载SDK(若下载的SDK不是最新版可输入pod repo update进行更新)

添加完第三方库后,我们需要注册成为高德地图的个人开发者并前往“高德开放平台”申请 iOS Key。该iOS key在实际的项目编写中需要用到,我们注册完点击应用管理——我的应用:
在这里插入图片描述
点击来之后我们就开始创建新应用:
在这里插入图片描述
应用名称:就是给你新建的应用起个名字,个人建议起的名字和你的App关联起来,然后应用类型选择你需要的类型。

然后为你的项目申请一个专用的Key:
在这里插入图片描述
首先选择iOS平台,Key名称也是随便起的,只要你自己能记住就行。
安全码Bundle ID在Xcode项目中切换到info——General:
在这里插入图片描述
然后我们需要在App Transport Security Settings下创建Allow Aebitrary Loads,并将其Type为Boolean类型的Value设置为YES;如本身就没有App Transport Security Settings的话则需要创建一个:
在这里插入图片描述

接下来我们先在AppDelegate.m中配置高德地图的Key:

在这里插入图片描述

然后在ViewController.m中初始化地图,并将地图加载到视图上:

#import "ViewController.h"
#import <MAMapKit/MAMapKit.h>
#import <AMapFoundationKit/AMapFoundationKit.h>
//#import <AMapLocationKit/AMapLocationKit.h>

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [MAMapView updatePrivacyShow:AMapPrivacyShowStatusDidShow privacyInfo:AMapPrivacyInfoStatusDidContain];
    [MAMapView updatePrivacyAgree:AMapPrivacyAgreeStatusDidAgree];

        ///初始化地图
   _mapView = [[MAMapView alloc] initWithFrame:self.view.bounds];
        
        ///把地图添加至view
    [self.view addSubview:_mapView];
    _mapView.showsUserLocation = YES;
    //定位功能的实现
    [AMapServices sharedServices].enableHTTPS = YES;
    MAUserLocationRepresentation *r = [[MAUserLocationRepresentation alloc] init];
    r.showsAccuracyRing = NO;
    [_mapView updateUserLocationRepresentation:r];
//    [self initControls];
   
}

看下效果图吧:
在这里插入图片描述
另外,我的代码里还实现了定位功能,但是在虚拟机上不能实现。。。应该在真机上可以实现。
定位功能需要添加四个设置:
在这里插入图片描述
基本上就是这样了