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