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.
115 lines
3.0 KiB
115 lines
3.0 KiB
3 years ago
|
//
|
||
|
// 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
|
||
|
|