http://blog.csdn.net/u012496940/article/details/47405345  上一篇的链接(一个定位实例)



从上一篇中的实例了解所使用的一些元素:



CLLcation不仅表示一个位置点,同一时候也是表示一个当时所具有的对应的属性和对应的一切内容,我们相同能够继承然后加入对应的属性给它 。eg:我能够添加温度,在那一个点,由于山上的高度,不同温度也不同,尽管能够从高度測算,可是也是一个属性,就像 CLLocationCoordinate2D(纯粹的一个位置点) 和经纬度一样.

总结:CLLocationCoordinate2D 二维点, 多维点(点+全部的环境元素)

CLLocationCoordinate2D < CLLocaiton



*****

看到那些生僻的定义点的属性类型的时候,这里一般上都是都是double类型的别名



//海拔,高度

@property(readonly, nonatomic) CLLocationDistance altitude;



//水平的准确度(负数无效)

@property(readonly, nonatomic) CLLocationAccuracy horizontalAccuracy;



//垂直的准确度(负数无效)

@property(readonly, nonatomic) CLLocationAccuracy verticalAccuracy;



//航向 、路径  取值为:0.0 ~ 359.9 真北方向表示:0.0

@property(readonly, nonatomic) CLLocationDirection course ;



//速度 m/s

@property(readonly, nonatomic) CLLocationSpeed speed ;



//时间

@property(readonly, nonatomic, copy) NSDate *timestamp;



//显示楼层的信息。假设当地支持的话

@property(readonly, nonatomic, copy) CLFloor *floor ;



//CLFloor中的一个属性,显示低第几层楼

@property(readonly, nonatomic) NSInteger level;



//位置的描写叙述。一般的对象都是能够调用这个属性来显示字符描写叙述

@property (nonatomic, readonly, copy) NSString *description;





//设置要求的精度是多少,精度也高,所须要的时间就越小,选择合适的是非常重要。

也就是一个点覆盖了多大的范围。

//*** 这里是用来给外部的使用的常量。由于extern这个keyword。我们通常是被manager来使用

extern const CLLocationAccuracy kCLLocationAccuracyBestForNavigation //这一般用于车载导航

extern const CLLocationAccuracy kCLLocationAccuracyBest;  //

extern const CLLocationAccuracy kCLLocationAccuracyNearestTenMeters;

extern const CLLocationAccuracy kCLLocationAccuracyHundredMeters;  //徒步比較合适

extern const CLLocationAccuracy kCLLocationAccuracyKilometer;

extern const CLLocationAccuracy kCLLocationAccuracyThreeKilometers;

eg:_locationManager.desiredAccuracy = kCLLocationAccuracyBest;

即为要求的精度为最好的。





extern const CLLocationDistance CLLocationDistanceMax   //设置最远的大小

extern const NSTimeInterval CLTimeIntervalMax   //最大的时间间隔

extern const CLLocationCoordinate2D kCLLocationCoordinate2DInvalid   //位置点可用



externkeyword表示在其它的类中已经用过定义了这个变量。



功能:

一、CLLocation 对象创建以及初始化的三个方法

1、//经度、纬度 初始化一个 位置(Cllocation)对象(经常使用)

- (instancetype)initWithLatitude:(CLLocationDegrees)latitude

    longitude:(CLLocationDegrees)longitude;

    //CLLocationDegrees 这个就是double类型的别名



2、//经度,纬度、高度、水平和垂直精准度、时间点 初始化一个Cllocation对象

- (instancetype)initWithCoordinate:(CLLocationCoordinate2D)coordinate

    altitude:(CLLocationDistance)altitude

    horizontalAccuracy:(CLLocationAccuracy)hAccuracy

    verticalAccuracy:(CLLocationAccuracy)vAccuracy

    timestamp:(NSDate *)timestamp;

//CLLocationCoordinate2D 就是经度和纬度的结构的体

以下是这个

//结构体。,包含经度和纬度

typedef struct {

    CLLocationDegrees latitude;//纬度

    CLLocationDegrees longitude;//精度

} CLLocationCoordinate2D;

@property(readonly, nonatomic) CLLocationCoordinate2D coordinate;

//结构体

//这种方法是用来设置经纬度的结构体的

CLLocationCoordinate2D CLLocationCoordinate2DMake(CLLocationDegrees latitude, CLLocationDegrees longitude);

BOOL CLLocationCoordinate2DIsValid(CLLocationCoordinate2D coord); //用来推断对应的经纬度的结构体能否够用



3、//经度,纬度、高度、水平和垂直精准度、时间点、航向、速度初始化一个位置对象

- (instancetype)initWithCoordinate:(CLLocationCoordinate2D)coordinate

    altitude:(CLLocationDistance)altitude

    horizontalAccuracy:(CLLocationAccuracy)hAccuracy

    verticalAccuracy:(CLLocationAccuracy)vAccuracy

    course:(CLLocationDirection)course

    speed:(CLLocationSpeed)speed

    timestamp:(NSDate *)timestamp



二、求距离

//用来计算距离的,新的方法,旧的能够无论了

- (CLLocationDistance)distanceFromLocation:(const CLLocation *)location __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_3_2);



CLLocation的属性以及使用的解释的更多相关文章

  1. Android layer-list的属性和使用具体解释

    Android layer-list的属性和使用具体解释.layer-list是用来多个图层堆叠显示的,借这个特性能够做一些特别的效果(比方:阴影.以下的效果等),也能够投机取巧. 1.代码片 < ...

  2. python中类的属性(class attribute)的解释

    python中的类叫 class object,类的实例叫instance object. 类 Class Objects 类拥有两种操作,1.类属性 attribute references 2.实 ...

  3. python中类属性和数据属性的解释

    python中的类叫class object,类的实例叫instance object. 类 Class Objects 类拥有两种操作,1.类属性 attribute references 2.实例 ...

  4. 奇葩属性:layout_weight 的解释及使用

    在Android的控件布局中,有一个奇葩的 layout_weight 属性,定义如下: layout_weight : 用于指定剩余空闲空间的分割比例.用法: 01 <LinearLayout ...

  5. React 属性和状态具体解释

    属性的含义和使用方法 props=properties 属性:一个事物的性质与关系 属性往往是与生俱来的.无法自己改变的. 属性的使用方法: 第一种方法:键值对 1.传入一个字符串:"Hi& ...

  6. HBase的属性

    一:基本属性 1.查看属性 2.解释属性 NAME:列簇名 BLOOMFILTER:布隆过滤器,用于对storefile的过滤 共有三种类型: ROW:行健过滤 ROWCOL:行列过滤 NONE:无 ...

  7. 标签的innerHTML属性和html()

    在新公司开发编码的时候,经常写js代码:有时候就需要往某个标签里添加一些html脚本或者要拿到某个标签里的html脚本,那么就会用到innerHTML和html. 1.innerHTML属性 w3sc ...

  8. Android ImageView 的scaleType 属性图解

    ImageView 是 Android 中最常用的控件之一,而在使用ImageView时,必不可少的会使用到它的scaleType属性.该属性指定了你想让ImageView如何显示图片,包括是否进行缩 ...

  9. 080 HBase的属性

    一:基本属性 1.查看属性 2.解释属性 NAME:列簇名 BLOOMFILTER:布隆过滤器,用于对storefile的过滤 共有三种类型: ROW:行健过滤 ROWCOL:行列过滤 NONE:无 ...

随机推荐

  1. [转] 随机数是骗人的,.Net、Java、C为我作证

    (转自:随机数是骗人的,.Net.Java.C为我作证 - 杨中科   原文日期:2014.05.12) 几乎所有编程语言中都提供了"生成一个随机数"的方法,也就是调用这个方法会生 ...

  2. codeforces_B. Forgery

    http://codeforces.com/contest/1059/problem/B 题意: For simplicity, the signature is represented as an  ...

  3. python的logging的简单使用

    用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么了,但是当我需要看大量的地方或者在一个文件中查看的时候,这时候print就不大方便了,所 ...

  4. CAD交互绘制带周长面积的矩形框(com接口)

    主要用到函数说明: _DMxDrawX::DrawLine 绘制一个直线.详细说明如下: 参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE dY1 直线的开始点y坐标 DOUBLE ...

  5. 配置个人Ip代理池

    做爬虫最害怕的两件事一个是被封账户一个是被封IP地址,IP地址可以使用代理来解决,网上有许多做IP代理的服务,他们提供大量的IP地址,不过这些地址不一定都是全部可用,因为这些IP地址可能被其他人做爬虫 ...

  6. base64记载

    一丶 js /** * * Base64 encode / decode * * @author haitao.tu * @date 2010-04-26 * @email tuhaitao@foxm ...

  7. js 随机生成颜色

    方法一  function randomColor (){ var str='#'; for(var i=0;i<6;i++){ str+=Math.floor(Math.random()*16 ...

  8. [SCOI2011]棘手的操作(可并堆/并查集/线段树)

    我懒死了 过于棘手 但这题真的很水的说 毕竟写啥都能过 常见思路: ①:由于不强制在线,所以重新编号之后线段树维护 ②:用各种可以高速合并的数据结构,比如可并堆,可并平衡树啥的 讲一种无脑算法: 对于 ...

  9. yum 软件管理器

    yum软件管理器 yum是一个强大的软件包管理器,能够自动解决安装时rpm包之间的依赖关系. 一.使用yum管理软件包 1.使用命令 yum help 查看使用方法 [root@majinhai ~] ...

  10. socketserver模块使用方法

    一.socketserver模块介绍 Python提供了两个基本的socket模块.一个是socket,它提供了标准的BSD Socket API: 另一个是socketserver,它提供了服务器中 ...