zoukankan      html  css  js  c++  java
  • CLLocation的属性以及使用的解释

    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);


  • 相关阅读:
    sessionId在fragment里无法保存的问题
    android:ellipsize实现跑马灯效果总结(转)
    Android:TextView 自动滚动(跑马灯) (转)
    Failed to install on device ‘emulator-5554′: timeout
    一个类怎样引用另外一个类的成员变量或方法
    android.widget.RadioButton 单选按钮(转)
    如何实现两个Activity 之间如何通讯
    linux自学(八)之开始centos学习,安装tomcat
    linux自学(六)之开始centos学习,更换yum源
    linux自学(四)之开始centos学习,网络配置
  • 原文地址:https://www.cnblogs.com/cxchanpin/p/6885467.html
Copyright © 2011-2022 走看看