单军华
2018-05-04 25f409185a53e5e7beb17518a684298d92d31b3f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
//
//  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