New file |
| | |
| | | // |
| | | // BMKRadarManager.h |
| | | // RadarComponent |
| | | // |
| | | // Created by wzy on 15/4/22. |
| | | // Copyright (c) 2015年 baidu. All rights reserved. |
| | | // |
| | | |
| | | #ifndef RadarComponent_BMKRadarManager_h |
| | | #define RadarComponent_BMKRadarManager_h |
| | | |
| | | #import "BMKRadarOption.h" |
| | | #import "BMKRadarResult.h" |
| | | |
| | | ///雷达delegate |
| | | @protocol BMKRadarManagerDelegate <NSObject> |
| | | |
| | | @optional |
| | | /* |
| | | *开启自动上传,需实现该回调 |
| | | */ |
| | | - (BMKRadarUploadInfo*)getRadarAutoUploadInfo; |
| | | |
| | | /** |
| | | *返回雷达 上传结果 |
| | | *@param error 错误号,@see BMKRadarErrorCode |
| | | */ |
| | | - (void)onGetRadarUploadResult:(BMKRadarErrorCode) error; |
| | | |
| | | /** |
| | | *返回雷达 清除我的信息结果 |
| | | *@param error 错误号,@see BMKRadarErrorCode |
| | | */ |
| | | - (void)onGetRadarClearMyInfoResult:(BMKRadarErrorCode) error; |
| | | |
| | | /** |
| | | *返回雷达 查询周边的用户信息结果 |
| | | *@param result 结果,类型为@see BMKRadarNearbyResult |
| | | *@param error 错误号,@see BMKRadarErrorCode |
| | | */ |
| | | - (void)onGetRadarNearbySearchResult:(BMKRadarNearbyResult*) result error:(BMKRadarErrorCode) error; |
| | | |
| | | @end |
| | | |
| | | |
| | | ///周边雷达管理类 |
| | | @interface BMKRadarManager : NSObject |
| | | |
| | | /// 上传时用,上传前需设置,不设置自动生成userId;切换用户时,需手动清除原先用户的位置信息 |
| | | @property (nonatomic, strong) NSString* userId; |
| | | |
| | | /** |
| | | *获取周边雷达实例,使用引用计数管理该实例内存 |
| | | */ |
| | | + (BMKRadarManager*)getRadarManagerInstance; |
| | | /** |
| | | *release周边雷达实例,使用引用计数管理该实例内存 |
| | | */ |
| | | + (void)releaseRadarManagerInstance; |
| | | |
| | | /** |
| | | *添加周边雷达delegate,用于结果回调 |
| | | *不需要时,需要使用removeRadarManagerDelegate:移除,否则影响内存释放 |
| | | *@param delegate, 添加的id<BMKRadarManagerDelegate>对象 |
| | | */ |
| | | - (void)addRadarManagerDelegate:(id<BMKRadarManagerDelegate>) delegate; |
| | | |
| | | /** |
| | | *移除周边雷达delegate,取消结果回调 |
| | | *@param delegate, 需要移除的id<BMKRadarManagerDelegate>对象 |
| | | */ |
| | | - (void)removeRadarManagerDelegate:(id<BMKRadarManagerDelegate>) delegate; |
| | | |
| | | /** |
| | | *启动自动上传用户位置信息 |
| | | *必须实现回调方法@see getRadarAutoUploadInfo,获取@see BMKRadarUploadInfo |
| | | *@param interval 时间间隔,不小于5s(小于强制设为5s) |
| | | */ |
| | | - (void)startAutoUpload:(NSTimeInterval) interval; |
| | | |
| | | /** |
| | | *停止自动上传用户位置信息 |
| | | */ |
| | | - (void)stopAutoUpload; |
| | | |
| | | /** |
| | | *单次上传用户位置信息 |
| | | *上传时间间隔不小于5s,否则return NO |
| | | *返回结果回调:@see onGetRadarUploadResult: |
| | | *@param info 位置信息 |
| | | */ |
| | | - (BOOL)uploadInfoRequest:(BMKRadarUploadInfo*) info; |
| | | |
| | | /** |
| | | *清除我的位置信息 |
| | | *返回结果回调:@see onGetRadarClearMyInfoResult: |
| | | */ |
| | | - (BOOL)clearMyInfoRequest; |
| | | |
| | | /** |
| | | *查询周边的用户信息 |
| | | *返回结果回调:@see onGetRadarNearbySearchResult:error: |
| | | *@param option 查询参数: 类型为@see BMKRadarNearbySearchOption |
| | | */ |
| | | - (BOOL)getRadarNearbySearchRequest:(BMKRadarNearbySearchOption*) option; |
| | | |
| | | @end |
| | | #endif |