高德开发者平台 有开发指南

iOS9配置网络:

<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>

请看这里  原文章:http://www.oschina.net/question/262659_149771?fromerr=Y0rzKueR

1. GPS定位:<CoreAudioKit/CoreAudioKit.h>

1. 基本属性:

1>

CLLocationManager:定位管理器   协议:<CLLocationManagerdelegate> 设置代理 实现方法

CLLocation:位置的具体信息(经纬度 等等)

CLHeading:设备移动方向

CLRegion:一个区域(常用子类:CLCircularRegion:圆形 CLBeaconRegion:蓝牙)

[CLLocationManager locationServicesEnabled] 定位服务是否可用

distanceFilter:自动过滤距离 移动某个距离之后重新调用代理方法 更新位置

desiredAccuracy:定位的精度

self.manager.desiredAccuracy = kCLLocationAccuracyBest; // 最佳精度
self.manager.pausesLocationUpdatesAutomatically = YES; // 不需要的时候可以自动暂停

- (void)viewDidLoad {[super viewDidLoad];self.locationManager = [[CLLocationManager alloc] init];self.locationManager.delegate = self;// 允许定位
    [self.locationManager requestAlwaysAuthorization];// 自动过滤距离 移动100米之后重新调用代理方法 更新位置self.locationManager.distanceFilter = 100.0;  // 米为单位// iOS7的系统下 写完start就可以开始定位了
    [self.locationManager startUpdatingLocation];// 初始化地理编码器:self.geocoder = [CLGeocoder new];
}

2> CLGeocoder 地理编码器:

创建:

self.geocoder = [CLGeocoder new];

编码:提供某个字符串 来定位位置:- (void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler;

[self.geocoder geocodeAddressString:self.inputLocation.text completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {// 取出一个位置信息CLPlacemark *placeMark = placemarks.lastObject;// 输出信息NSLog(@"%lf   %lf", placeMark.location.coordinate.latitude, placeMark.location.coordinate.longitude);}];

反编码:根据位置显示该地方的名字等等

[self.geocoder reverseGeocodeLocation:location completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) {CLPlacemark *place = placemarks.lastObject;self.inputLocation.text = place.name;NSLog(@" %@",place.name);}];

2. 获取位置信息:

iOS7的系统下 写完start就可以开始定位了:

[self.locationManager startUpdatingLocation];

但是在iOS之后就需要设置是否允许定位:设置完成这个之后才可以定位

requestAlwaysAuthorization:一直允许定位

requestWhenInUseAuthorization:用户允许

在添加之前需要在info.plist 文件中添加字段:NSLocationAlwaysUsageDescription  (后面的字符串知识提示的时候会显示 并没有什么用)

[self.locationManager requestAlwaysAuthorization];

2. 地图:<MapKit/MapKit.h>

1> iOS原生地图:

前面带MK的是系统自带的地图:

MKUserLocation:地图上的大头针 有title subtitle等属性

MKMapView:用来显示地图 与视图一样 初始化需要确定frame 定位的时候需要用到coreLocation框架

showsUserLocation 设置为YES 允许跟踪定位 (MKMapView的属性)

可自定义MKAnnotation

//     创建比例系数 显示在某个点上MKCoordinateRegion region = MKCoordinateRegionMake(userLocation.coordinate, MKCoordinateSpanMake(0.1, 0.1)) ;
//     比例系数越小 放大效果越大self.mapView.region = region; // 系统自带

2> 高德:

多以MA开头的:

[_mapView setZoomLevel:16.0 animated:YES];  设置缩放的比例

// 1. 验证key[MAMapServices sharedServices].apiKey = @“申请的key”;// 2. 初始化mapView = [[MAMapView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), CGRectGetHeight(self.view.bounds))];mapView.delegate = self;//    mapView.language = MAMapLanguageEn; // 设置地图显示语言mapView.mapType = MAMapTypeStandard; // 地图类型/*MAMapTypeSatellite:卫星地图MAMapTypeStandard:标准地图*/
//    mapView.showTraffic = YES; // 显示实时交通路况
    [self.view addSubview:mapView];mapView.showsUserLocation = YES;

mapView的定位模式: userTrackingMode

MAUserTrackingModeNone:不跟随用户位置,仅在地图上显示。

MAUserTrackingModeFollow:跟随用户位置移动,并将定位点设置成地图中心点

MAUserTrackingModeFollowWithHeading:跟随用户的位置和角度移动

系统的地图和 高德地图 的区别:http://www.mamicode.com/info-detail-573898.html

转载于:https://www.cnblogs.com/Evelyn-zn/p/4979101.html

CoreLocation MKMapView相关推荐

  1. CoreLocation+MapKit系统定位(含坐标以及详细地址)

    iOS8 之后出现一些新的配置 [self.manager requestWhenInUseAuthorization];并且在info.plist文件中增加NSLocationWhenInUseUs ...

  2. iphone:MKMapView

    在iphone上实现地图并不难.在Frameworks中加入MapKit.framework,要对mapView做相应的操作时要添加一个outlet,记得#import<MapKit/MapKi ...

  3. MKMapView iOS的地图详细应用

    定位功能 定位是一个很常用的功能,如一些地图软件打开之后如果用户允许软件定位的话,那么打开软件后就会自动锁定到当前位置,如果用户手机移动那么当前位置也会跟随着变化.要实现这个功能需要使用Core Lo ...

  4. iOS - MKMapView 地图

    1.创建 MKMapView 地图 在 iOS6 或者 iOS7 中实现这个功能只需要添加地图控件.设置用户跟踪模式.在 mapView:didUpdateUserLocation: 代理方法中设置地 ...

  5. CoreLocation地理定位 Map Kit 地图展示

    在这里总结一下关于地图定位的知识.CoreLocaton,Map Kit. 在移动互联网时代,移动app能解决用户的很多生活琐事,比如 导航:去任意陌生的地方 周边:找餐馆.找酒店.找银行.找电影院 ...

  6. [无限互联]地图框架MapView(采用MKMapView)

    --------------------------MApView的功能----------------------------- MapView这个框架是在MKMapView中实现地址选择和导航功能 ...

  7. iOS CoreLocation和MapKit详解

    引言 位置定位几乎是App中的不可或缺的功能,功能分为两部分:一部分是使用CoreLocation框架来获取地理位置经纬度:另一部分:使用MapKit将经纬度以UI的形式展示出来. 使用场景 导航软件 ...

  8. IOS中CoreLocation框架地理定位

    1.CoreLocation框架使用前提: #import <CoreLocation/CoreLocation.h> CoreLocation框架中所有数据类型的前缀都是CL ,Core ...

  9. iOS MKMapView 地图视图

    有时候我们做项目可能会用到地图,比如在地图上显示附近人,在微博客户端中显示附近微博... 所以我们有必要来了解一下关于地图视图 地图视图 MKMapView 继承与UIView 先来看一下属性吧 @p ...

最新文章

  1. EntLib 3.1学习笔记(6) : Security Application Block
  2. CVPR发布禁令:盲评的论文不能在社交平台上讨论!LeCun:这政策简直疯了
  3. 3层、5层、3层一个卷积核BP神经网络性能比较
  4. SOA和微服务之间的区别(应用和数据的垂直拆分水平拆分)
  5. Applese 涂颜色(欧拉定理降幂+快速幂)
  6. DSP2812程序执行过程
  7. POJ 2942 Knights of the Round Table ★(点双连通分量+二分图判定)
  8. Winfrom窗体应用程序___DataGridView
  9. 浅谈ASP.NET 4中构造“.NET研究”HTML5视频控件
  10. 社保交满15年就可以停缴了吗?就可以领取养老金了吗?
  11. 下一代 Windows 将至,是全新的 Windows 11 还是 Windows 10 的延续?
  12. 一文看懂二叉搜索树~(又叫二叉查找树) 代码+详解(C/C++)
  13. server 2008 php环境搭建,windows server 2008R2 x64位服务器上搭建PHP环境
  14. 英特尔hd630驱动_Ubuntu 16.04安装Intel显卡驱动(解决Intel HD Graphics 630显卡驱动问题)...
  15. js如何获取IP地址?教你4种方法
  16. 以阿里云服务器为例理解docker端口映射
  17. 计算机软件著作权查询网址
  18. 使用Pyppeteer进行gmail模拟登录
  19. Python-猫耳MF
  20. 服务器磁带断带修复,易备磁带版:安全合规、功能超群–Windows服务器的磁带备份软件...

热门文章

  1. asp.net页面回传与js调用服务端事件、PostBack的原理详解
  2. Tabhost嵌套以及Tab中多个Activity跳转的实现
  3. 如何解决头文件重复包含和宏的重复定义问题:用#ifndef 、#define、#endif
  4. 【自用】 Android Studio Gradle sync failed
  5. 仟叶学校:武汉老师最燃演讲“人生很贵,请别浪费”
  6. 设计模式:常见模式案例
  7. 《C++面向对象高效编程(第2版)》——2.16 识别成员函数的目标对象
  8. S2SH整合所需jar包及其详解
  9. NYOJ(21),BFS,三个水杯
  10. IOS学习动画二之 Core Animation (3)