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 ...
 
随机推荐
- 解析php mysql 事务处理回滚操作(附实例)
			
其实用PHP来处理mysql的事务回滚并不难,下面小编就详细的为大家介绍一下.相信大家看完之后都知道如何使用 很多新手在进行项目过程中,会碰到这样一种情况,如:论坛扣币项目中,用户支付论坛币的时候如果 ...
 - [转]Linux下修改/设置环境变量JAVA_HOME
			
1. 永久修改,对所有用户有效 # vi /etc/profile //按键盘[Shift + g], 在profile文件最后添加下面的内容: export JAVA_HOME = /home/m ...
 - Oracle定义两个变量,并对两个变量的值的长度进行判断
			
这个例子其实很简单,但是往往简单的东西如果不用心就会漏洞百出,简单的一个逻辑判断,是为了给复杂逻辑判断做出铺垫 语法格式: if<condition_expression> then pl ...
 - [转]如何利用ndk-stack工具查看so库的调用堆栈【代码示例】?
			
如何利用ndk-stack工具查看so库的调用堆栈[代码示例]? http://hi.baidu.com/subo4110/item/d00395b3bf63e4432bebe36d Step1:An ...
 - 【CocoaPods】配置CocoaPods前 - 本地安装好Ruby环境
			
xcode (反正就是代码编辑器) Xcode就不用说了把. homebrew (反正就是软件管理器) homebrew是一个包管理器,用于在mac上安装一些os x上没有的UNiX工具(比如wget ...
 - cocos2dx中的设计分辨率与屏幕适配策略
			
1.首先明确几个概念: 设计分辨率:designResolution,即资源图片的设计尺寸,即美工给你的资源图片的大小,比如(641*964) 屏幕分辨率:又叫帧的大小,glview->setF ...
 - clion 帮助文档 EN
			
下载时间 2015年10月 下载地址:http://pan.baidu.com/s/1E4fgE 备用地址:链接:http://pan.baidu.com/s/1bn6u5Wj 密码:icn4
 - linux 下安装 nginx
			
安装nginx版本为1.7.5 一.下载nginx 官方地址:http://www.nginx.org/ 下载地址:http://nginx.org/download/ Nginx官网提供了三个类型的 ...
 - 【贪心】Bzoj 2457:[BeiJing2011]双端队列
			
2457: [BeiJing2011]双端队列 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 209 Solved: 95[Submit][Stat ...
 - 【BZOJ】【2157】旅游
			
LCT 直到动手写拆边为点的时候才发现根本不会写……去orz了一下Hzwer(话说这题应该也用不着LCT吧……下次再换种姿势写一遍好了) /****************************** ...