IOS 地图的开发(coreLocation)
2017-12-27 22:47
309 查看
概述
API
大框架
CoreLocation:用于地理定位,地理编码区域监听等(着重功能实现)MapKit:用于地图展示,例如大头针,路线,覆盖层展示等(着重界面展示)
内部的框架
CoreLocation框架CoreLocation
CLLocation
ios地图开发的隐私保护(如何添加授权)
CLGeocoder
CLPlacemark
MapKit框架
MKMapView
MKCoordinateRegion
MKMapView的代理
MKUserLocation
大头针
annotation
自定义大头针
MKAnnotationView
MKPinAnnotationView
MKMapItem调用系统APP进行导航
MKMapCamera地图街景
MKMapSnapshotter地图截图
常用的类和方法
CLLocationManager
CLLocation
CLLocationCoordinate2D
CLGeocoder
CLPlacemark
CLLocationManager
CoreLocation框架中使用CLLocationManager对象来做用户定位创建(初始化)
CLLocationManager *lM = [[CLLocationManager alloc] init];
1.manager设置定位的精准度(最优的方式,导航最好的方式,10m,100m等等),定位越远,好点越多
2.manager取出授权(authorizationStatus),没有授权,先授权。
3.manager使用startUpdating开启定位
4.使用didiupdating回调确认定位
5.使用(didChangeAuthorizationStatus)确认授权信息
CLLocation
使用属性(coordinate)获取经度,纬度,航向,海拔,速度CLLocationCoordinate2D
里面包含经度,纬度,航向,海拔,速度信息
CLGeocoder
地理编码方法-(void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler;反地理编码方法-(void)reverseGeocodeLocation:(CLLocation *)location completionHandler:(CLGeocodeCompletionHandler)completionHandler;
[self.geoC geocodeAddressString:self.addressDetailTV.text completionHandler:^(NSArray<CLPlacemark *> * __nullable placemarks, NSError * __nullable error) { // 包含区,街道等信息的地标对象 CLPlacemark *placemark = [placemarks firstObject]; // 城市名称 // NSString *city = placemark.locality; // 街道名称 // NSString *street = placemark.thoroughfare; // 全称 NSString *name = placemark.name; self.addressDetailTV.text = [NSString stringWithFormat:@"%@", name]; self.latitudeTF.text = [NSString stringWithFormat:@"%f", placemark.location.coordinate.latitude]; s }
[self.geoC reverseGeocodeLocation:location completionHandler:^(NSArray<CLPlacemark *> * __nullable placemarks, NSError * __nullable error) { // 包含区,街道等信息的地标对象 CLPlacemark *placemark = [placemarks firstObject]; // 城市名称 // NSString *city = placemark.locality; // 街道名称 // NSString *street = placemark.thoroughfare; // 全称 NSString *name = placemark.name; self.addressDetailTV.text = [NSString stringWithFormat:@"%@", name]; }];
CLPlacemark
@property (nonatomic, readonly) CLLocation *location;地理位置@property (nonatomic, readonly) CLRegion *region;
区域
@property (nonatomic, readonly) NSDictionary *addressDictionary;详细的地址信息
@property (nonatomic, readonly) NSString *name;
地址名称
@property (nonatomic, readonly) NSString *locality;
城市
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #c35900 }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #587ea8 }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #587ea8 }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #c35900 }
span.s1 { }
相关文章推荐
- iOS开发之CoreLocation框架(地图/定位)
- iOS 地图CoreLocation定位
- IOS开发之Core Location
- iOS开发CoreLocation框架
- iOS应用开发视频教程笔记(十一)Core Location and Map Kit
- IOS开发之Core Location
- &lt;转&gt;iOS开发拓展篇—CoreLocation地…
- iOS开发 - CoreLocation地理定位
- iOS开发中使用CoreLocation框架处理地理编码的方法
- 【iOS开发-109】CoreLocation框架的两个主要类CLLocationManager和CLGeoCoder介绍
- iOS开发-Core Location和Map Kit
- iOS学习笔记 地图(一)定位CoreLocation
- iOS开发之CoreLocation(GPS定位)
- iOS项目开发— CoreLocation的定位服务和地理编码与发编码实现
- IOS开发之Core Location
- iOS开发之CoreLocation(一)
- iOS开发之CoreLocation(二)
- [IOS地图开发系类]1、CLLocationManager 位置定位
- 浅谈iOS开发过程中的Core Location &Map Kit
- iPhone开发之地图定位(CoreLocation和Mapkit框架)简易编程