码迷,mamicode.com
首页 > 移动开发 > 详细

iOS学习笔记8-地图开发

时间:2016-02-18 00:00:34      阅读:422      评论:0      收藏:0      [点我收藏+]

标签:

两个主要框架

 

map kit 用于地图展示

core foundation 用于地理定位

 

LBS Location based service (基于定位的服务)

SoLoMo social local mobile 

 

1.CLLocationManager

CLLocationManager的常用操作和属性

开始用户定位- (void)startUpdatingLocation;

停止用户定位- (void) stopUpdatingLocation;

说明:当调用了startUpdatingLocation方法后,就开始不断地定位用户的位置,中途会频繁地调用代理的下面方法

  - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations;

每隔多少米定位一次

  @property(assign, nonatomic) CLLocationDistance distanceFilter;

 

 

2.CLLocation

CLLocation用来表示某个位置的地理信息,比如经纬度、海拔等等

(1)经纬度 

  @property(readonly, nonatomic) CLLocationCoordinate2D coordinate;

(2)海拔 

  @property(readonly, nonatomic) CLLocationDistance altitude;

(3)路线,航向(取值范围是0.0° ~ 359.9°,0.0°代表真北方向)

  @property(readonly, nonatomic) CLLocationDirection course;

(4)行走速度(单位是m/s)

   @property(readonly, nonatomic) CLLocationSpeed speed;

(5)计算2个位置之间的距离

  - (CLLocationDistance)distanceFromLocation:(const CLLocation *)location方法

 

定位精确度(越精确就越耗电)

  @property(assign, nonatomic) CLLocationAccuracy desiredAccuracy;

 

 

 

3.CLLocationCoordinate2D

CLLocationCoordinate2D是一个用来表示经纬度的结构体,定义如下

typedef struct {

        CLLocationDegrees latitude; // 纬度

        CLLocationDegrees longitude; // 经度

} CLLocationCoordinate2D;

一般用CLLocationCoordinate2DMake函数来创建CLLocationCoordinate2D

 

 

 

 

 

    

    if ([CLLocationManager locationServicesEnabled]) {

        [self.locMgr startUpdatingLocation];

        self.locMgr.distanceFilter = kCLDistanceFilterNone;

        self.locMgr.desiredAccuracy = kCLLocationAccuracyBestForNavigation;

        

    }

 

 

代理

 

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray<CLLocation *> *)locations

 

iOS学习笔记8-地图开发

标签:

原文地址:http://www.cnblogs.com/adodo/p/5196724.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!