文章来源:淘论文网   发布者: 毕业设计   浏览量: 47



还可以点击去查询以下关键词:
[高德]    [二次]    [封装]    [定位]    [轨迹]    [语音]    [实时]    [导航]    [纠偏]    [.....]    [iOS高德二次封装,有定位,轨迹,语音实时导航,GPS纠偏.....]   

项目介绍:

高德地图导航,查询周边,语音播报,轨迹绘制等深入了解。

先来点前言:本人在开发项目过程中,遇到各种高德的神操作,通过学习官方sdk文档,结合demo,论文,进行了二次封装,要实现这几个功能只需几句代码。写下这篇博客,希望大家给予佐证,共同进步。

废话不多说,直奔主题。

一、准备工作

我们要做高德地图相关的应用,首先得注册一个高德账号(一般以公司名义注册,如果是个人项目,就注册个人账号)。进入高德开放平台注册。当然有高德账号的同仁请忽略这一步。当你注册并登陆成功后我们就可以正式进入高德开发之旅了。

1、进入控制台

2、创建应用

3、添加key

Bundle ID

4、采用pod导入高德的相关sdk//相信pod大家都用过,我就不具体介绍如何安装和使用cocoaPods了 pod 'AFNetworking' pod 'AMap3DMap', '~>4.4.1' pod 'AMapSearch' #查询服务SDK pod 'AMapLocation' pod 'AMapNavi'#这个要放到其他高德sdk后 pod 'JZLocationConverter'#gps纠偏

假如不懂cocoapods使用的,看这篇文章

5、将高德生成的key放到APPdelegate.h文件中

//基础定位类 #import <AMapFoundationKit/AMapFoundationKit.h> //高德地图基础类 #import <MAMapKit/MAMapKit.h> //定义一个宏来保存高德的apikey #define APIKEY @'a80ff3043934c4cb4a3af35b6b20b32'6、在APPdelegate.m文件里设置相关内容- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //设置APIKEY [AMapServices sharedServices].apiKey = APIKEY; [AMapServices sharedServices].enableHTTPS = YES; return YES; }7、在plist文件中开启定位服务

二、实现地图相关功能1、将我封装好的包导入项目中

2、导入头文件#import 'MapManager.h'3、只显示地图和小蓝点- (void)viewDidLoad { [super viewDidLoad]; //不管进行什么地图操作都要先定位自己位置 [self locationOnlySelf]; } //显示自己的定位信息 -(void)locationOnlySelf{ MapManager *manager = [MapManager sharedManager]; manager.controller = self; [manager initMapView]; }4、给指定坐标添加一个大头针 - (void)viewDidLoad { [super viewDidLoad]; //不管进行什么地图操作都要先定位自己位置 [self locationOnlySelf]; CLLocationCoordinate2D coor; coor.latitude = 30.566666;// coor.longitude = 104.054536; [[MapManager sharedManager] addAnomationWithCoor:coor]; }5、查询附近并大头针标记(能实时导航,带语音)- (void)viewDidLoad { [super viewDidLoad]; //不管进行什么地图操作都要先定位自己位置 [self locationOnlySelf]; [self searchAround]; } //附近查询 -(void)searchAround{ //可以设置大头针图片,没有设置图片就用默认图片 // [MapManager sharedManager].destinationImgName = @'首牛'; // [MapManager sharedManager].locationPointImgName = @'首牛'; [[MapManager sharedManager] searchAroundWithKeyWords:@'景点'];//关键词可以随便写,只要高德能查询的 }6、假如要做历史轨迹连线,最好新建一个VC- (void)viewDidLoad { [super viewDidLoad]; MapManager *manager = [MapManager sharedManager]; manager.controller = self; [manager initMapView]; [manager.mapView setZoomLevel:13.1 animated:YES]; //存放历史轨迹点坐标的数组 NSArray *array = @[@'39.822136,116.35095',@'39.832136,116.42095',@'39.902136,116.42095',@'39.902136,116.44095']; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [manager drawLineWithArray:array]; [manager addAnomationWithArray:array]; }); }三、来谈谈纠偏功能的实现和语音播报功能的实现1、GPS纠偏一般用于硬件获取的GPS转为高德的GPS,因为相同地方每种地图的GPS是不相同的,所以需要用到这个三方JZLocationConverterGitHub下载地址,开题报告,作者有详细的使用指南。2、语音播报功能(1)首先把我这个包拖到你的工程里#p#分页标题#e#

(2)代码实现//重写高德导航自带的一个回调方法中开启语音 - (BOOL)driveManagerIsNaviSoundPlaying:(AMapNaviDriveManager *)driveManager { return [[SpeechSynthesizer sharedSpeechSynthesizer] isSpeaking]; } //关闭导航的回调方法中关掉语音 -(void)driveViewCloseButtonClicked:(AMapNaviDriveView *)driveView{ [self.driveManager stopNavi]; [driveView removeFromSuperview]; //停止语音 [[SpeechSynthesizer sharedSpeechSynthesizer] stopSpeak]; } 四、demo下载地址及效果图GitHub下载地址链接: https://github.com/deng690990/SF_GaoDeMAP


这里还有:


还可以点击去查询:
[高德]    [二次]    [封装]    [定位]    [轨迹]    [语音]    [实时]    [导航]    [纠偏]    [.....]    [iOS高德二次封装,有定位,轨迹,语音实时导航,GPS纠偏.....]   

请扫码加微信 微信号:sj52abcd


下载地址: http://www.taolw.com/down/6038.docx
  • 上一篇:逗视iOS客户毕业设计端MGDS_Swift
  • 下一篇:使项目开发中经常遇见的标签SDTagsView