You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
3.0 KiB
114 lines
3.0 KiB
// |
|
// BMKGeoFenceRegion.h |
|
// BMKLocationKit |
|
// |
|
// Created by baidu on 2017/3/2. |
|
// Copyright © 2017年 baidu. All rights reserved. |
|
// |
|
|
|
#import <Foundation/Foundation.h> |
|
#import <CoreLocation/CoreLocation.h> |
|
#import "BMKLocationManager.h" |
|
|
|
///BMKGeoFence Region State |
|
typedef NS_ENUM(NSInteger, BMKGeoFenceRegionStatus) |
|
{ |
|
BMKGeoFenceRegionStatusUnknown = 0, ///< 未知 |
|
BMKGeoFenceRegionStatusInside = 1, ///< 在范围内 |
|
BMKGeoFenceRegionStatusOutside = 1 << 1, ///< 在范围外 |
|
BMKGeoFenceRegionStatusStayed = 1 << 2, ///< 停留(在范围内超过10分钟) |
|
}; |
|
|
|
#pragma mark - BMKGeoFenceRegion |
|
|
|
|
|
///地理围栏基类,不可直接使用 |
|
@interface BMKGeoFenceRegion : NSObject<NSCopying> |
|
|
|
|
|
///BMKGeoFenceRegion的唯一标识符 |
|
@property (nonatomic, copy, readonly) NSString *identifier; |
|
|
|
|
|
///用户自定义ID,可为nil。 |
|
@property (nonatomic, copy, readonly) NSString *customID; |
|
|
|
|
|
///坐标点和围栏的关系,比如用户的位置和围栏的关系 |
|
@property (nonatomic, assign) BMKGeoFenceRegionStatus fenceStatus; |
|
|
|
///设定围栏坐标系类型。默认为 BMKLocationCoordinateTypeGCJ02。 |
|
@property(nonatomic, readonly) BMKLocationCoordinateType coordinateType; |
|
|
|
///上次发生状态变化的时间 |
|
@property(nonatomic, assign)NSTimeInterval lastEventTime; |
|
|
|
|
|
/** |
|
* @brief 判断位置与围栏状态 |
|
* @param CLLocationCoordinate2D 坐标值 |
|
* @return 返回BMKGeoFenceRegionStatus状态 |
|
*/ |
|
-(BMKGeoFenceRegionStatus)judgeStatusWithCoor:(CLLocationCoordinate2D)coor; |
|
|
|
@end |
|
|
|
|
|
#pragma mark - BMKLocationCircleRegion |
|
|
|
|
|
///圆形地理围栏 |
|
@interface BMKGeoFenceCircleRegion : BMKGeoFenceRegion |
|
|
|
|
|
///中心点的经纬度坐标 |
|
@property (nonatomic, readonly) CLLocationCoordinate2D center; |
|
|
|
|
|
///半径,单位:米 |
|
@property (nonatomic, readonly) CLLocationDistance radius; |
|
|
|
/** |
|
* @brief 构造圆形围栏 |
|
* @param customid 用户自定义ID |
|
* @param identityid 识别id |
|
* @param center 中心坐标 |
|
* @param radius 围栏半径 |
|
* @param type 坐标系类型 |
|
* @return BMKGeoFenceCircleRegion id |
|
*/ |
|
- (id)initWithCustomID:(NSString *)customid identityID:(NSString *)identityid center:(CLLocationCoordinate2D)center radius:(CLLocationDistance)radius coor:(BMKLocationCoordinateType)type; |
|
|
|
|
|
|
|
@end |
|
|
|
|
|
#pragma mark -BMKGeoFencePolygonRegion |
|
|
|
|
|
///多边形地理围栏 |
|
@interface BMKGeoFencePolygonRegion : BMKGeoFenceRegion |
|
|
|
|
|
///经纬度坐标点数据 |
|
@property (nonatomic, readonly) CLLocationCoordinate2D *coordinates; |
|
|
|
|
|
///经纬度坐标点的个数 |
|
@property (nonatomic, readonly) NSInteger count; |
|
|
|
|
|
/** |
|
* @brief 构造多边形围栏 |
|
* @param customid 用户自定义ID |
|
* @param identityid 识别id |
|
* @param coor 多边形顶点 |
|
* @param count 顶点个数 |
|
* @param type 坐标系类型 |
|
* @return BMKGeoFencePolygonRegion id |
|
*/ |
|
- (id)initWithCustomID:(NSString *)customid identityID:(NSString *)identityid coor:(CLLocationCoordinate2D *)coor count:(NSInteger)count coor:(BMKLocationCoordinateType)type; |
|
|
|
@end |
|
|
|
|