【iOS】—— 高德地图SDK基础使用

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

最近稍微学了学iOS调用高德的SDK,就随便做做笔记。注意:本篇博客基于高德地图SDK的3D地图来写的,若使用的是2D地图可能有的方法可能有所不同,比如自定义定位蓝点之类的。

一、准备工作:

具体的准备工作高德的SDK的入门指南上将步骤都一一给出了,具体看看:iOS 高德地图-SDK

下面那我就大概说说步骤:

1.获取最新版的XCode

Xcode版本至少在8.0之上。

2.获取CocoaPods

有这个环境的就可以不用管,没有的话可以看看这两篇:2021年CocoaPods安装方法Getting Started

3.使用CocoaPods安装SDK

  • 如果该程序是第一次使用CocoaPods的话,就先使用下面代码创建一个工程:
$ touch Podfile
  • 编辑Podfile文件
platform :ios, '15.0'    //手机的系统,比它高的版本也可以
target '调用地图' do    //这里引号里是你自己程序的名字
pod 'AMap2DMap'    //2D地图,2D地图不可以和3D一起使用,将2改为3就是3D地图了
pod 'AMapSearch'    //搜索功能
end
  • 安装SDK
$pod install --repo-update
  • 如果不是最新版的SDK,使用下面指令更新
pod repo update
  • 重启Xcode
    记得打开的一定要是这样的程序:
    4324234

4.获取高德Key

在上述工作做完了之后你的程序还不能够使用高德的SDK,这里我们需要为我们的项目获取一个key,它是在高德开放控制平台申请的。
申请方法:获取Key

5.Hello AMap

  • 配置Info.plist 文件
    Info中添加:
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true></true>
</dict>
  • 配置高德Key至AppDelegate.m文件
    在你程序的AppDelegate.m文件中的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions添加:
[AMapServices sharedServices].apiKey = @"你的Key";
  • 加载地图

(1)加头文件

#import <MAMapKit/MAMapKit.h>

(2)构造MAMapView对象

MAMapView *_mapView = [[MAMapView alloc] initWithFrame:self.view.bounds];

(3)将MAMapView添加到Subview中

[self.view addSubview:_mapView];

6.连接iOS设备

7.开肝

以上就是使用高德地图SDK的一些准备工作,其他的可以自己去iOS 地图SDK了解了解。

二、高德SDK基础操作:

基于3D地图的使用!!!

1.配置头文件:

#import <MAMapKit/MAMapKit.h>
#import <AMapFoundationKit/AMapFoundationKit.h>

2.显示地图:

注意: 若初始化地图并添加到View上后并没有显示到视图上的话,并且出现

Error Domain=AMapFoundationErrorPrivacyShowUnknow Code=555570 “(null)” UserInfo={info=使用MAMapKit3D SDK 功能前请设置隐私权政策是否弹窗告知用户}

该错误,那么请在初始化地图之前添加下面两行代码:

//检查隐私合规
[MAMapView updatePrivacyShow:AMapPrivacyShowStatusDidShow privacyInfo:AMapPrivacyInfoStatusDidContain];
[MAMapView updatePrivacyAgree:AMapPrivacyAgreeStatusDidAgree];

详细原因请看高德地图给的开发者注意事项

//地图需要v4.5.0及以上版本才必须要打开此选项(v4.5.0以下版本,需要手动配置info.plist)
    [[AMapServices sharedServices] setEnableHTTPS:YES];
    
    //初始化地图
    self.showMapView = [[MAMapView alloc] initWithFrame:CGRectMake(0, 0, myWidth, myHeight)];
    [self.view addSubview:self.showMapView];

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值