com.awareframework.ios.sensor.locations 0.6.1

com.awareframework.ios.sensor.locations 0.6.1

tetujinyuuki.nishiyama 维护。



  • By
  • Yuuki Nishiyama

AWARE: 位置

CI Status Version License Platform

该位置传感器可为客户提供最佳的当前位置估计,自动提供。位置数据由 Core Location 提供。

要求

iOS 10 或更高版本。

安装

com.aware.ios.sensor.locations 通过 CocoaPods 提供。

  1. 要安装它,简单地将以下行添加到 Podfile 中
pod 'com.awareframework.ios.sensor.locations'
  1. 将 com.aware.ios.sensor.locations 库导入到源代码中。
import com_awareframework_ios_sensor_locations
  1. 打开您的项目(*.xcworkspace),并将 NSLocationAlwaysAndWhenInUseUsageDescriptionNSLocationWhenInUseUsageDescription 添加到 Info.plist 中。

公共函数

位置传感器

  • init(config:位置传感器.配置?) : 使用可选配置初始化位置传感器。
  • start() : 使用可选配置启动位置传感器。
  • stop() : 停止服务。

位置传感器.配置

用于保存传感器配置的类。

字段

  • sensorObserver: 位置观察者? 追踪数据更新的回调。(默认 = null)
  • frequency: Int 检查位置的频率,单位为秒。默认每180秒检查一次。将值设置为0(零)将保持GPS位置跟踪始终开启。(默认 = 180)
  • accuracy: Int GPS位置的最小可接受精度,单位为米。默认值为150米。将值设置为0(零)将保持GPS位置跟踪始终开启。(默认 = 150)
  • expirationTime: Int64 位置被认为过时的流逝时间,单位为秒。默认值为300秒。(默认 = 300)
  • saveAll: Boolean 是否保存所有位置更新。(默认 = false)
  • enabled: Boolean 传感器是否启用。(默认 = false)
  • debug: Boolean 启用/禁用将日志记录到 Logcat。 (默认 = false)
  • label: String 数据的标签。(默认 = "")
  • deviceId: String 与事件和传感器相关联的设备ID。(默认 = "")
  • 数据库加密密钥:dbEncryptionKey。 (默认 = null)
  • 数据库类型:引擎 dbType: Engine 保存数据所使用的数据库引擎。 (默认 = Engine.DatabaseType.NONE)
  • 数据库路径:字符串 dbPath: String 数据库路径。 (默认 = "aware_locations")
  • 数据库主机:字符串 dbHost: String 同步数据库的主机。 (默认 = null)

广播

已执行的广播

  • LocationsSensor.ACTION_AWARE_LOCATIONS 发生新位置可用时触发。
  • LocationsSensor.ACTION_AWARE_GPS_LOCATION_ENABLED 当GPS位置激活时触发。
  • LocationsSensor.ACTION_AWARE_GPS_LOCATION_DISABLED 当关闭GPS位置时触发。

接收到的广播

  • LocationsSensor.ACTION_AWARE_LOCATIONS_START:接收到的用于启动传感器的广播。
  • LocationsSensor.ACTION_AWARE_LOCATIONS_STOP:接收到的用于停止传感器的广播。
  • LocationsSensor.ACTION_AWARE_LOCATIONS_SYNC:接收到的用于向主机发送同步尝试的广播。
  • LocationsSensor.ACTION_AWARE_LOCATIONS_SET_LABEL:接收到的用于设置数据标签的广播。标签被视为在intent extras的 LocationsSensor.EXTRA_LABEL字段中。

数据表示形式

地点数据

包含地点配置文件。

字段 类型 描述
纬度 双精度浮点数 纬度,以度为单位。
经度 双精度浮点数 经度,以度为单位。
航向 双精度浮点数 设备行驶的方向,以度为单位,相对于正北。
速度 浮点数 设备的瞬时速度,以米/秒为单位。
海拔 双精度浮点数 海拔,以米为单位。
楼层 双精度浮点数? 用户所在的建筑物的逻辑楼层。
水平精度 双精度浮点数 位置的不确定半径,以米为单位。
垂直精度 双精度浮点数 海拔值的精度,以米为单位。
deviceId 字符串 AWARE设备的UUID
标签 字符串 可定制的标签。适用于数据校准或可追溯性。
时间戳 长整型 自1970年以来的Unix时间(毫秒)
时区 整型 设备的时区
os 字符串 设备的操作系统(例如,iOS)

示例用法

// To initialize the sensor
let locationSensor = LocationsSensor.init(LocationsSensor.Config().apply{config in
    config.sensorObserver = Observer()
    config.debug = true
    config.dbType = DatabaseType.REALM
    // more configuration...
})
// To start the sensor
locationSensor?.start()

// To stop the sensor
locationSensor?.stop()
class Observer:LocationsObserver {
    func onLocationChanged(data: LocationsData) {
    // your code here
    }
}

作者

Yuuki Nishiyama, [email protected]

相关链接

许可

版权所有 © 2021 AWARE 移动上下文检测中间件/框架(http://www.awareframework.com

遵循 Apache 许可协议,版本 2.0(“许可”);除非遵守许可协议或经书面同意,否则不得使用此文件。可以在以下位置获取许可证副本:

https://apache.ac.cn/licenses/LICENSE-2.0 根据 applicable law 或书面协议,在本许可下分发的软件是在“现状”的基础上分发的,不提供任何明示或暗示的保证或条件。有关许可证具体许可和限制性条款,请参阅许可证。