iOS地图->模拟定位
2015-04-28 16:20
567 查看
1.在iOS开发中,要想加入这2大功能,必须基于2个框架进行开发
Map Kit :用于地图展示.
Core Location :用于地理定位.
2.热门专业术语
3.需要导入头文件
4.CLLocationManager的常用操作
5.经纬度与中国经纬度
6.CLPlacemark常用操作(地标,封装详细位置信息)
7.模拟定位事例
7.1导入包
.
7.2.如果是iOS8或者以上的版本需要的在info.plist里面设置如下内容
7.3代码部分
7.因为上面的事例是模拟定位所以,需要在模拟上设置,选择Apple
Map Kit :用于地图展示.
Core Location :用于地理定位.
2.热门专业术语
LBS :Location Based Service (基于位置的服务) SoLoMo :Social Local Mobile(索罗门)(即:Social(社交的)、Local(本地的)、Mobile(移动的),连起来就是SoLoMo(索罗门),社交本地移动,即社交加本地化加移动,它代表着未来互联网发展的趋势。)
3.需要导入头文件
导入头文件:#import <CoreLocation/CoreLocation.h>
4.CLLocationManager的常用操作
/**开始用户定位*/ - (void)startUpdatingLocation; /**停止用户定位*/ - (void) stopUpdatingLocation; /**定位回调的方法*/ - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations; locations参数里面装着CLLocation对象 CLLocation用来表示某个位置的地理信息,比如经纬度、海拔等等 /**经纬度*/ @property(readonly, nonatomic) CLLocationCoordinate2D coordinate; /**海拨*/ @property(readonly, nonatomic) CLLocationDistance altitude; /**路线,航向(取值范围是0.0° ~ 359.9°,0.0°代表真北方向)*/ @property(readonly, nonatomic) CLLocationDirection course; /**行走速度(单位是m/s)*/ @property(readonly, nonatomic) CLLocationSpeed speed; /**计算2个位置之间的距离*/ - (CLLocationDistance)distanceFromLocation:(const CLLocation *)location; /**每隔多少米定位一次*/ @property(assign, nonatomic) CLLocationDistance distanceFilter; /**定位精确度(越精确就越耗电)*/ @property(assign, nonatomic) CLLocationAccuracy desiredAccuracy;
5.经纬度与中国经纬度
6.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;
7.模拟定位事例
7.1导入包
.
7.2.如果是iOS8或者以上的版本需要的在info.plist里面设置如下内容
7.3代码部分
#import "ViewController.h" /**导入定位框架*/ #import <CoreLocation/CoreLocation.h> @interface ViewController ()<CLLocationManagerDelegate>/**采用定位代理*/ /**0.创建一个位置*/ @property (strong, nonatomic) CLLocationManager *locMgr; @end @implementation ViewController /**1.懒加载,因为只创建一次,定位管理器*/ - (CLLocationManager *)locMgr{ #warning 2.定位服务不可用,用户取消了以后,返回为空 if (![CLLocationManager locationServicesEnabled]) return nil; if (!_locMgr) { /**3.创建定位管理者*/ self.locMgr = [[CLLocationManager alloc] init]; /**4.设置代理*/ self.locMgr.delegate = self; } return _locMgr; } - (void)viewDidLoad { [super viewDidLoad]; /**5.开始定位用户的位置*/ [self.locMgr startUpdatingLocation]; #warning iOS8里面必须添加这个 /**6.是否允许你的定位*/ [self.locMgr requestAlwaysAuthorization]; /**7.精确度*/ _locMgr.desiredAccuracy = kCLLocationAccuracyBest; } #pragma mark--8.当定位开始时,回调的方法 - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{ /**8.1.取出位置对象,第一个位置,因为第一个准确*/ CLLocation *loc = [locations firstObject]; /**8.2.取出经纬度*/ #if 0 typedef struct { CLLocationDegrees latitude; 代表纬度 CLLocationDegrees longitude; 代表经度 } CLLocationCoordinate2D; #endif CLLocationCoordinate2D coordinate = loc.coordinate; /**8.3.打印经纬度*/ NSLog(@"%f%f",coordinate.latitude,coordinate.longitude); /**4.停止定位,因为这里只需定位用户的最初位置,如果是一直定位的话,不用写下面的话*/ [self.locMgr stopUpdatingLocation]; } @end
7.因为上面的事例是模拟定位所以,需要在模拟上设置,选择Apple
相关文章推荐
- 关于iOS地图定位中点击设置->隐私->定位服务 闪退问题
- 关于iOS地图定位中点击设置->隐私->定位服务 闪退问题
- iOS 定位 <CoreLocation/CoreLocation.h>
- 高德地图之地图篇----->定位的蓝点、添加Marker
- iOS-地图定位 && 解码与反解码
- 高德地图之定位篇----->定位、预测天气、围栏、搜索周边、行踪轨迹
- 高德地图之定位篇----->定位、预测天气、围栏、搜索周边、行踪轨迹
- 百度地图----->地图类型、定位模式、实时交通、我的位置、加入覆盖物、覆盖物详情及提示
- ios 一步一步学会自定义地图吹出框(CalloutView)-->(百度地图,高德地图,google地图)
- 【iOS】7.4 定位服务->3.4 地图框架MapKit 功能4:地图截图
- iOS <CoreLocation>定位框架的理解与运用
- 【iOS】7.4 定位服务->3.3 地图框架MapKit 功能3:3D视图
- 百度地图----->地图类型、定位模式、实时交通、我的位置、添加覆盖物、覆盖物详情及提示
- ios 自定义地图吹出框(CalloutView)-->(百度地图,高德地图,google地图)
- ios 一步一步学会自定义地图吹出框(CalloutView)-->(百度地图,高德地图,google地图)
- 【iOS】7.4 定位服务->3.2 地图框架MapKit 功能2:路线规划(导航)
- 关于iOS地图定位中点击设置->隐私->定位服务 闪退问题
- ios 一步一步学会自定义地图吹出框(CalloutView)-->(百度地图,高德地图,google地图)
- [iOS]时间筛选之<本周、上周、更早>
- iOS地图和定位