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. Win7 与win10绘制桌面壁纸的区别

    win7使用csrss.exe绘制壁纸. win10使用explorer.exe绘制壁纸.

  2. 实现UAC对话框效果

    设置桌面全屏: int cxScreen,cyScreen; cxScreen=GetSystemMetrics(SM_CXSCREEN); cyScreen=GetSystemMetrics(SM_ ...

  3. Python学习笔记(1)——Python的概述(Python的环境、变量、数据类型、基本运算)

    Table of Contents 1. Python概述 1.1. Python基础知识 1.2. 运行环境 1.3. Python的格式 1.4. Python的变量. 2. Python的数据类 ...

  4. 基于nvm的Node、NPM的版本管理(NPM permission error的解决)

    最近在使用npm过程中,发现全局安装总会遇到permission相关的错误,所以总是要在前面加sudo,还得不停输入密码. 懒惰使我进步,随手google了一下相关问题的解决方案,发现npm在官方文档 ...

  5. ruby cucumber安装

    创建rails工程

  6. thinkphp5 框架修改的地方

    框架修改的地方 vendor/topthink/think-captcha/src/Captcha.php api验证码入库 196行 $img_code = strtoupper(implode(' ...

  7. ubuntu lamnp 环境的安装/卸载 及 配置

    安装mysql--------------------------------------sudo apt install mysql-server   #5.7版本 安装php----------- ...

  8. django-3 admin开启后台配置并展示表内容

    设置了superuser 之后,可以在run server 后, 通过浏览器访问后台,进行界面配置. 1. python manage.py creatersuperuser 此命令在manage.p ...

  9. python第一章计算机基础

    第一章 计算机基础 1.1 硬件 计算机基本的硬件由:CPU / 内存 / 主板 / 硬盘 / 网卡 / 显卡 / 显示器 等组成,只有硬件但硬件之间无法进行交流和通信. 1.2 操作系统 操作系统用 ...

  10. Django中配置自定义日志系统