ios开发--高德地图SDK使用简介
高德LBS开放平台将高德最专业的定位、地图、搜索、导航等能力,以API、SDK等形式向广大开发者免费开放。本章节我们来简单学习一下如何使用它的定位及地图SDK。
一、相关框架及环境配置
- 地图SDK
对于如何下载SDK,它的官方文档提供了很详细的说明,使用CocoaPods。如果你没有安装CocoaPods,也可以在它的官网直接下载。


接下来只需要将SDK引入工程,完成相关的环境配置即可。在它的官方文档中有详细说明,这里就不重复了。

- 定位SDK
高德 iOS 定位 SDK 提供了不依赖于地图定位的定位功能,开发者可以无地图显示的场景中便捷地为应用程序添加定位功能。它的定位 SDK中提供的持续定位功能与地图功能分离。同样我们先下载SDK。


由于定位与地图是不同的SDK所以一定要记得设置两次用户Key。
另外需要特别注意的是,在官方文档中对于 TARGETS-Build Settings-Architectures的环境配置,在定位和地图SDK是不同的,但是大家只要设置其中一个就可以了。
二、示例代码

- 引入相关框架,并完成环境配置

在它的官方文档中对于需要什么样的框架有详细的说明,大家根据文档添加。
最后根据文档我们需要设置info.plist文件。

- 在AppDelegate.m文件中完成apiKey的设置
- #import <MAMapKit/MAMapKit.h>//地图SDK头文件
- #import <AMapLocationKit/AMapLocationKit.h>//定位SDK头文件
- - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
- [MAMapServices sharedServices].apiKey = @"990c9f469d381bd72a6915b3d0c829a5";//地图SDK
- [AMapLocationServices sharedServices].apiKey =@"990c9f469d381bd72a6915b3d0c829a5";//定位SDK
- return YES;
- }
- 在viewController.m文件中引入所需属性,并完成懒加载
- #import <MAMapKit/MAMapKit.h>
- #import <AMapLocationKit/AMapLocationKit.h>
- @interface ViewController ()<MAMapViewDelegate,AMapLocationManagerDelegate>
- @property (nonatomic, strong) MAMapView *mapView;//地图视图
- @property (nonatomic, strong) AMapLocationManager *locationManager;//定位管理者
- @end
- - (MAMapView *)mapView{
- if (!_mapView) {
- _mapView = [[MAMapView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.bounds), CGRectGetHeight(self.view.bounds))];
- _mapView.delegate = self;
- _mapView.mapType = MAMapTypeStandard;//设置地图类型
- _mapView.showTraffic= YES;//是否显示交通图
- [self.locationManager startUpdatingLocation];//开始定位
- [_mapView setUserTrackingMode: MAUserTrackingModeFollow animated:YES];//定位以后改变地图的图层显示。
- [self.view addSubview:_mapView];
- }
- return _mapView;
- }
- - (AMapLocationManager *)locationManager{
- if (!_locationManager) {
- _locationManager = [[AMapLocationManager alloc] init];
- _locationManager.delegate = self;
- }
- return _locationManager;
- }
- - (void)viewDidLoad {
- [super viewDidLoad];
- [self locationManager];
- [self mapView];
- }
- 完成定位和“大头针”功能
- //AMapLocationManager代理方法位置更新以后回调。
- - (void)amapLocationManager:(AMapLocationManager *)manager didUpdateLocation:(CLLocation *)location
- {
- NSLog(@"location:{lat:%f; lon:%f; accuracy:%f}", location.coordinate.latitude, location.coordinate.longitude, location.horizontalAccuracy);
- }
- -(void) viewDidAppear:(BOOL)animated
- {
- [super viewDidAppear:animated];
- MAPointAnnotation *pointAnnotation = [[MAPointAnnotation alloc] init];
- pointAnnotation.coordinate = CLLocationCoordinate2DMake(31.982527, 118.735046);
- pointAnnotation.title = @"宏创科技";
- pointAnnotation.subtitle = @"国家广告产业园XXX";
- [self.mapView addAnnotation:pointAnnotation];
- }
- //MAMapView代理方法,用来设置大头针
- - (MAAnnotationView *)mapView:(MAMapView *)mapView viewForAnnotation:(id )annotation
- {
- if ([annotation isKindOfClass:[MAPointAnnotation class]])
- {
- static NSString *pointReuseIndentifier = @"pointReuseIndentifier";
- MAPinAnnotationView*annotationView = (MAPinAnnotationView*)[mapView dequeueReusableAnnotationViewWithIdentifier:pointReuseIndentifier];
- if (annotationView == nil)
- {
- annotationView = [[MAPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:pointReuseIndentifier];
- }
- annotationView.canShowCallout= YES; //设置气泡可以弹出,默认为NO
- annotationView.animatesDrop = YES; //设置标注动画显示,默认为NO
- annotationView.draggable = YES; //设置标注可以拖动,默认为NO
- annotationView.pinColor = MAPinAnnotationColorPurple;
- return annotationView;
- }
- return nil;
- }
ios开发--高德地图SDK使用简介的更多相关文章
- iOS开发——百度地图SDK集成
(正在形成文档,待更新……)
- iOS开发UI篇—核心动画简介
转自:http://www.cnblogs.com/wendingding/p/3801036.html iOS开发UI篇—核心动画简介 一.简单介绍 Core Animation,中文翻译为核心动画 ...
- 使用高德地图SDK获取定位信息
使用高德地图SDK获取定位信息 第一步: 在高德官网下载SDK,如我这里需要获取定位信息,故仅下载"定位功能" 第二步: 注册成为开发者,并创建应用获取相应的key.其中,在使用A ...
- 百度地图开发-引入地图SDK并配置 02
百度地图开发-引入地图SDK并配置 02 通过上一篇文章的介绍,基本了解百度地图的基本信息,接下来就让我们一起来实际在项目中操作,显示出地图. 01 引入地图SDK 首先需要新建一个空白的Androi ...
- iOS开发系列--地图与定位
概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一个 ...
- iOS导入高德地图出现缺失armv7--"Undefined symbols for architecture armv7"
在已有项目中使用pod导入高德地图,报了以下错误: ld: warning: directory not found for option '-L/Users/paul/iOS/yun-hui-yi/ ...
- 转-iOS开发系列--地图与定位
来自: http://www.cnblogs.com/kenshincui/p/4125570.html#autoid-3-4-0 概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功 ...
- iOS开发---百度地图配置流程,2.6.0 版本 支持64位
1.首先需要在百度地图下载最新SDK:地址: http://developer.baidu.com/map/index.php?title=iossdk/sdkiosdev-download 2. ...
- iOS开发----调用地图导航
注意:本文章下的代码有个别变量未知,所以是不能直接跑通的,我也是转别人的 在IOS6.0系统后,兼容iOS5.0与iOS6.0地图导航,需要分两个步骤 #define SYSTEM_VERSION_L ...
随机推荐
- 将开始我的WebForm控件开发之旅
时间总是过得很快,一转眼三个月就过去了,三个月内发生了很多的事.因为学校的学习,离开了我入门WPF的公司:开发了第一个外包项目,做的是WebForm的:而且了马上要毕业了,毕业后的公司应该是专门用We ...
- [转]WPF 依赖项属性
from:http://blog.csdn.net/datoumimi/article/details/8033682 ps:环境限制,发的东西一长就会被拦截,所以删了一部分 UI软件中经常会用到大量 ...
- [转]system函数返回值探究
对于system这个函数的功能早就有一定了解,读书期间,就学习了UNIX系统编程这本书,后来买了APUE.我这个人总是有好读书不求甚解的毛病.对于system函数只知其一,不知其二.后来被人问起相关的 ...
- 你的数据根本不够大,别老扯什么Hadoop了
本文原名"Don't use Hadoop when your data isn't that big ",出自有着多年从业经验的数据科学家Chris Stucchio,纽约大学柯 ...
- 定位表的数据块并且dump出来
SQL> select * from city; ID NAME ---------- ---------- 7 Chicago 6 Jers ...
- Visual Assist X破解方法
VC2008的破解方法:使用2008的朋友我就不多说了,直接拷贝到你选择的那个安装目录去,例如 C:\Program Files\Visual Assist\ ,直接运覆盖VA_X.dll 即可VC2 ...
- java转义字符
JAVA中转义字符: 1.八进制转义序列:\ + 1到3位5数字:范围'\000'~'\377' \0:空字符 2.Unicode转义字符:\u + 四个十六进制数字:0~65535 ...
- 转:一份基础的嵌入式Linux工程师笔试题
一. 填空题: 1. 一些Linux命令,显示文件,拷贝,删除 Ls cp rm 2. do……while和while……do有什么区别? 3. Linux系统下.ko文件是什么文件?.so文件是什么 ...
- 升级Mac osx 10.10 后安装php 的mcrypt extension
昨天折腾到凌晨四点多,今天又到这个点,终于成功了,心情比较复杂,先记录一下,改日再整理,此刻头昏脑胀,只想蒙头大睡. 发的问题,还没人回复,自己找到答案了,英语比较蹩脚,凑合看.. http://st ...
- [转]adb pull Permission denied及no such file错误
adb pull Permission denied及no such file错误 http://www.the8m.com/blog/article/javadk/adbpull.html XP系 ...