// // 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