更新时间:2024-07-04 06:57:55下载pdf
本文介绍地理围栏的相关功能。
LBS 即基于位置的服务(Location Based Services,LBS),是指围绕地理位置数据而展开的服务。由移动终端使用无线通信网络(或卫星定位系统),基于控件数据库,获取用户的地理位置坐标信息并与其他信息集成,以便向用户提供所需的、与位置相关的增值服务。
地理围栏(Geo-fencing)是 LBS 的一种新应用,是物理位置周围的虚拟围栏或边界。与真正的围栏一样,地理围栏会在该位置与其周围区域之间建立隔离。与真实围栏不同的是,它还可以检测虚拟边界内的移动,当设备进入或离开某个特定地理区域,设备可以接收自动通知和警告。
出行的地理围栏功能是基于设备当前定位,以设备为圆心向外的围栏设置。以下将以公版功能为例,讲解如何使用地理围栏功能。
类名(协议名) | 说明 |
---|---|
TSODGeofenceService | 地理围栏相关服务 |
TSODGeofenceModel | 地理围栏信息模型 |
- (void)setGeofenceWithRequestModel:(TSODGeofenceModel *)requestModel
success:(nullable ThingSuccessBOOL)success
failure:(nullable ThingFailureError)failure NS_SWIFT_NAME(setGeofence(requestModel:success:failure:));
示例代码
TSODGeofenceModel *requestModel = [[TSODGeofenceModel alloc] init];
requestModel.devID = self.device.deviceModel.devId;
requestModel.geofenceInfo.open = YES;
requestModel.geofenceInfo.radius = 50;
requestModel.geofenceInfo.noticeType = noticeType;
requestModel.geofenceInfo.dpCode = @"blelock_switch";
requestModel.geofenceInfo.dpValue = @NO;
self.service = [[TSODGeofenceService alloc] init]
[self.service setGeofenceWithRequestModel:requestModel success:^(**BOOL** result) {
//...
} failure:^(NSError *error) {
}];
- (void)getGeofenceInfoWithDevID:(NSString *)devID
success:(nullable void(^)(TSODGeofenceModel *geofenceModel))success
failure:(nullable ThingFailureError)failure NS_SWIFT_NAME(getGeofenceInfo(devID:success:failure:));
示例代码
self.service = [[TSODGeofenceService alloc] init]
[self.service getGeofenceInfoWithDevID:self.deviceModel.devId success:^(TSODGeofenceModel * _Nonnull geofenceModel) {
BOOL isOpen = geofenceModel.geofenceInfo.isOpen;
//...
} failure:^(NSError *error) {
}];
TSODGeofenceModel 数据模型
字段 | 类型 | 描述 |
---|---|---|
devID | NSString | 设备 ID |
geofenceInfo | TSODGeofenceInfoModel | 地理围栏信息 |
TSODGeofenceInfoModel 数据模型
字段 | 类型 | 描述 |
---|---|---|
radius | NSInteger | 半径,单位米。开启时,需要设置大于 0 的值。 |
noticeType | TSODGeofenceNoticeType | 告警类型,支持 App、短信和电话,其中短信和电话需要购买相应服务。 |
open | BOOL | 是否开启地理围栏。 |
dpCode | NSString | 关联的 DP。一般根据此 DP 的 Code,确定是否要触发地理围栏。如果是公版,则关联锁车 DP。 |
dpValue | id | 希望地理围栏激活的 DP 对应的值。如果希望锁车状态激活地理围栏,则设置 @NO ,那么锁车后地理围栏就会激活。 |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈