开篇话

前段时间一直在做高德地图相关的开发,涉及定位、导航、自定义大头针以及其他交互,总结一下以供查阅,也是第一次写,有错误的地方,欢迎大家指正。

介绍

高德开放平台目前开放了 iOS 地图 SDK 以及 iOS 地图 SDK 专业版两套地图SDK工具。高德地图 iOS SDK 是一套基于 iOS 7.0 及以上版本的地图应用程序开发接口,供开发者在自己的iOS应用中加入地图相关的功能,包括:地图显示(含室内、室外地图)、与地图交互、在地图上绘制、兴趣点搜索、地理编码、离线地图等功能。高德地图 iOS SDK 专业版是在 iOS SDK 已有服务的基础上,新增支持了自定义地图在线加载、自定义地图元素纹理等功能,便于开发者完成基于自身场景的更深层、更个性化地图的开发需求(PS:取自高德官网)

获取Key

创建新应用

1、创建应用

进入控制台,创建一个新应用。如果之前已经创建过应用,我的应用列表中就会有显示名称以及创建时间

根据产品需求填写名称应用和应用类型

2、获取Key

在创建的应用上点击添加新Key,在弹出的对话框中填写相应的资料。

#####如何获取bundle ID

NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];

或者

需要注意的是: 1个KEY只能用于一个应用(多渠道安装包属于多个应用),1个Key在多个应用上使用会出现服务调用失败。当Key与所关联的bundle ID 不一致时,控制台会打印如下内容

自动部署

如何安装CocoaPods就不赘述了,网上有很多教程
Podfile配置如下

高德iOS SDK的库名如下:

显示地图

1.引入头文件

在AppDelegate.h中引入头文件,代码如下:

#import "AppDelegate.h"
#import <AMapFoundationKit/AMapFoundationKit.h>
@interface AppDelegate ()@end@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {// Override point for customization after application launch.[AMapServices sharedServices].apiKey = @"72ec793300c95f1dc32943eb885424be";return YES;
}

2.显示地图

一般应用使用地图时都会在地图上加上相应的其他子view,所以我个人的做法就是创建一个继承自MAMapView的mapView,将子view在这个新的mapView绘制以及做一些其他的地图相关设置,以减少controller中的代码量
在controller.m中代码如下:

#import "ViewController.h"
#import "AmapView.h"//继承的新mapview
@interface ViewController ()
@property (nonatomic, strong)AmapView *mapView;
@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.[self.view addSubview:self.mapView];
}- (AmapView *)mapView {if (!_mapView) {_mapView = [[AmapView alloc]initWithFrame:self.view.bounds];}return _mapView;
}

编译运行后,最原始的地图效果如下:

高德地图中还提供了地图上的其他设置比如比例尺,手势等,代码如下:

        //地图需要v4.5.0及以上版本才必须要打开此选项(v4.5.0以下版本,需要手动配置info.plist)[AMapServices sharedServices].enableHTTPS = YES;//如果您需要进入地图就显示定位小蓝点,则需要下面两行代码self.showsUserLocation = YES;self.userTrackingMode = MAUserTrackingModeFollow;//指南针self.showsCompass = NO;//logo位置self.logoCenter = CGPointMake(CGRectGetWidth(self.bounds)-55, 1000);//比例尺self.showsScale = NO;//旋转手势self.rotateEnabled= NO;//倾斜收拾self.rotateCameraEnabled = NO;//缩放级别[self setZoomLevel:12.0 animated:YES];//自定义蓝点MAUserLocationRepresentation *rep = [[MAUserLocationRepresentation alloc]init];rep.image = [UIImage imageNamed:@"定位点"];rep.showsAccuracyRing = NO;[self updateUserLocationRepresentation:rep];

以上就是对高德地图的基本设置,如能正常运行,就可以使用了。

【高德地图】iOS 开发汇总(一)相关推荐

  1. ios html调起高德地图,iOS开发笔记 调起本地地图导航(百度、高德、腾讯、苹果自带)...

    地图 从自己的APP跳转到用户本地的APP进行导航.首先,要先查看用户都安装了哪些地图类APP. 下面分3种情况进行分析: 1.用户没有安装第三方的地图,只有苹果自带的地图应用. 2.用户安装一款第三 ...

  2. 【高德地图WEB开发】 入门篇(地图/搜索/经纬度/缩放层级)

    前言 本篇文章是高德地图web开发入门篇,实现地图搜索等基本功能,后续会继续更新地图标记点.驾车.骑行.货车等单地点\多地点导航.公交路线.兴趣周边点.及其他地图功能开发文章,所有功能均使用js实现, ...

  3. [iOS]高德地图SDK开发--准备篇

    本文是对高德地图SDK使用的总结,对于高德地图不做过多介绍,可直接登录其官网开放平台进行了解; PS: 这里主要是讲解地图使用的准备工作,最后,以显示地图并定位到当前位置来验证;对于其他的使用,可参看 ...

  4. 高德地图插件使用汇总(干货-从注册到熟练使用)

    概述 针对公司项目用到的高德地图播件,及用到的方法(缩放层级显示不同层级点.默认点显示.点聚合.定位当前点位置.位置选择获取经纬度). 通用文件 // 说明: JSON文件示例 [[118 94655 ...

  5. Android高德地图基本开发/在线高德离线地图开发/断网使用离线地图(Assets文件夹的使用)

    文章目录 高德SDK基本使用 前置操作 需求一:显示地图,并以当前所在位置为中心 权限申请 布局功能代码 活动功能代码 效果展示 需求二:离线地图(直接添加到应用端项目内) 需求三 :点击数据后以数据 ...

  6. 高德地图Amap开发实践

    一.简介: 高德开放平台是国内技术领先的LBS(Location Based Services,基于位置的服务)服务提供商,拥有先进的数据融合技术和海量的数据处理能力.高德开放平台向广大开发者提供覆盖 ...

  7. 高德地图H5开发总结笔记

    高德地图总结笔记 地图初始化 信息点坐标 路线规划与导航 大概就这么些,因为之前没接触过这方面一直都觉得挺复杂的实际开发感觉还算ok,全程干货走起. 1.地图初始化 1.1创建项目Key 想使用高德的 ...

  8. java调用高德地图API开发,高德在线地图开发——未完待续

    这是目录 一.引入高德地图API 二.高德地图开发 1.定义一个div来存放地图 2.生成地图 3.添加一个跳跃的点 4.添加控件 5.有其他需要的请留言 一.引入高德地图API 高德地图官方示例:h ...

  9. 高德地图 API 开发 amap-vue

    标题amap-vue 是对高德地图的二次封装的一个插件 适用于 vue amap-vue官方的介绍: AMap-Vue 是一个基于 Vue.js 的高德地图 AMap JSAPI 封装. 通过它,你能 ...

最新文章

  1. div+css背景渐变色代码示例
  2. 电力系统【第3章:简单电力系统的潮流分布计算】
  3. MultiResUNet笔记
  4. python编程300例_经典编程100例——python版(例75)
  5. 找不到或无法加载主类
  6. HTML Canvas
  7. 解析发展方向,定格人生道路
  8. 【今日CS 视觉论文速览】Wed, 30 Jan 2019
  9. NuGet:添加EntityFramework
  10. 【Python3爬虫】当爬虫碰到表单提交,有点意思
  11. mysql5.6 load_MySQL 5.6 dump/load buffer pool实验
  12. 在mysql中如何添加函数库_详细讲解如何为MySQL数据库添加新函数
  13. 排序系统 c语言程序设计,c语言程序设计(排序算法).docx
  14. FISCO BCOS同步模块的优化策略
  15. Linux进程的管理与调度(四) -- Linux下的进程类别以及其创建方式
  16. STM32f103正点原子小白 FLYMcu串口
  17. Spring定时器@Scheduled
  18. DZ先生怪谈国标28181-2016之目录查询
  19. win8计算机禁止休眠,win8系统设置禁止电脑休眠的教程方法
  20. 微波雷达传感器感应模块,智能安防过滤雨水树叶干扰技术应用

热门文章

  1. 微信小程序使用三元运算符
  2. TSP问题解析篇之自适应大邻域搜索(ALNS)算法深度通读(附python代码)
  3. 从英特尔上海紫竹研发中心归来,认真聊一聊傲腾
  4. 深度分析: Google 和 Apple 从来就不是死对头
  5. 智能家居的春天来临 集成商还会在吗?
  6. Linux利用脏牛漏洞提权
  7. 包的概念与常见内置模块
  8. uva 10158 War
  9. 初学者学习插画原画以后就业方向有哪些?和大家聊聊插画原画师就业、薪资等
  10. 任何一个二目关系都是BCNF