zoukankan      html  css  js  c++  java
  • CoreLocation Framework 翻译

    Core Location 框架让你们确定当前的定位或者设备的朝向,这个框架使用可用的硬件来决定用户的位置和朝向。你们使用这个框架中的类群和协议来配置和计划定位和指向事件的传送。你们也能用它来定义地理区域并且监控何时用户穿过区域的边界。在iOS中,你也能定义一个区域通过Bluetooth beacon。

    CLBeacon:NSObject CLBeacon代表一个信号灯,在区域监控中用到。

    CLFloor:NSObject CLFloor 指定用户定位在一个建筑的楼层。

    CLGeocoder:NSObject CLGeocoder提供服务来转换坐标(指定一个经度和纬度)和对用户友好的呈现通过坐标。

    CLHeading:NSObject CLHeading包括指向数据,通过CLLocationManager 对象来产生。

    CLLocation:NSObject CLLocation代表定位数据,通过CLLocationManager对象来产生。

    CLLocationManager:NSObject CLLocationManager是配置来自于你的App的定位和指向事件的传送的中央管理器。

    CLPlacemark:NSObject CLPlacemark 储存地标数据来自一个指定的经度和纬度。

    CLRegion:NSObject CLRegion定义一个抽象的区域可以用来追踪。

    CLBeaconRegion:CLRegion CLBeaconRegion对象定义一种类型的区域基于设备的接近通过Bluetooth beacon技术,与地理定位相反。

    CLCircularRegion:CLRegion CLCircularRegion定义圆形地理区域的位置和边界。

    CLVisit:NSObject CLVisit 对象压缩关于用户到过的兴趣点的信息。

    CLLocationManagerDelegate CLLocationManagerDelegate 协议定义用来接收来自于CLLocationManger的定位和指向更新的方法。

    按功能主要分为几个类群:

    1.定位指向类(常用):CLLocationManager,CLLocation,CLHeading

    2.地理编码类(常用):CLGeocoder

    3.地标类(常用):CLPlacemark

    4.区域类(少用):CLRegion,CLCircularRegion

    5.楼层类(几乎不用):CLFloor

    6.兴趣点类(几乎不用):CLVisit

    7.beacon类(几乎不用):CLBeacon,CLBeaconRegion

    CLLocationManager

    类方法

    说明

    + (BOOL)locationServicesEnabled;

    是否启用定位服务,通常如果用户没有启用定位服务可以提示用户打开定位服务

    + (CLAuthorizationStatus)authorizationStatus;

    定位服务授权状态,返回枚举类型:

    kCLAuthorizationStatusNotDetermined: 用户尚未做出决定是否启用定位服务

    kCLAuthorizationStatusRestricted: 没有获得用户授权使用定位服务,可能用户没有自己禁止访问授权

    kCLAuthorizationStatusDenied :用户已经明确禁止应用使用定位服务或者当前系统定位服务处于关闭状态

    kCLAuthorizationStatusAuthorizedAlways: 应用获得授权可以一直使用定位服务,即使应用不在使用状态

    kCLAuthorizationStatusAuthorizedWhenInUse: 使用此应用过程中允许访问定位服务

    属性

    说明

    desiredAccuracy

    定位精度,枚举类型:

    kCLLocationAccuracyBest:最精确定位

    CLLocationAccuracy kCLLocationAccuracyNearestTenMeters:十米误差范围

    kCLLocationAccuracyHundredMeters:百米误差范围

    kCLLocationAccuracyKilometer:千米误差范围

    kCLLocationAccuracyThreeKilometers:三千米误差范围

    distanceFilter

    位置信息更新最小距离,只有移动大于这个距离才更新位置信息,默认为kCLDistanceFilterNone:不进行距离限制

    对象方法

    说明

    startUpdatingLocation

    开始定位追踪,开始定位后将按照用户设置的更新频率执行-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations;方法反馈定位信息

    stopUpdatingLocation

    停止定位追踪

    startUpdatingHeading

    开始导航方向追踪

    stopUpdatingHeading

    停止导航方向追踪

    startMonitoringForRegion:

    开始对某个区域进行定位追踪,开始对某个区域进行定位后。如果用户进入或者走出某个区域会调用- (void)locationManager:(CLLocationManager *)manager

        didEnterRegion:(CLRegion *)region- (void)locationManager:(CLLocationManager *)manager

        didExitRegion:(CLRegion *)region代理方法反馈相关信息

    stopMonitoringForRegion:

    停止对某个区域进行定位追踪

    requestWhenInUseAuthorization

    请求获得应用使用时的定位服务授权,注意使用此方法前在要在info.plist中配置NSLocationWhenInUseUsageDescription

    requestAlwaysAuthorization

    请求获得应用一直使用定位服务授权,注意使用此方法前要在info.plist中配置NSLocationAlwaysUsageDescription

    代理方法

    说明

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

    位置发生改变后执行(第一次定位到某个位置之后也会执行)

    - (void)locationManager:(CLLocationManager *)manager

           didUpdateHeading:(CLHeading *)newHeading;

    导航方向发生变化后执行

      - (void)locationManager:(CLLocationManager *)manager

        didEnterRegion:(CLRegion *)region

    进入某个区域之后执行

    - (void)locationManager:(CLLocationManager *)manager

        didExitRegion:(CLRegion *)region

    走出某个区域之后执行

  • 相关阅读:
    NodeJS简介
    SQL学习笔记(1)
    Linux常用命令03
    Linux常用命令02
    Linux常用命令01
    Java接口和抽象类的区别
    Optional解决空指针
    JVM的内存管理机制-转载
    mysql explain详解-转载
    rabbitmq消息处理-转载
  • 原文地址:https://www.cnblogs.com/iOSJason/p/5194717.html
Copyright © 2011-2022 走看看