9 #import <Availability.h>
10 #import <Foundation/Foundation.h>
11 #import <CoreLocation/CoreLocation.h>
18 typedef NS_ENUM(NSUInteger, BMKLocationCoordinateType)
20 BMKLocationCoordinateTypeBMK09LL = 0,
21 BMKLocationCoordinateTypeBMK09MC,
22 BMKLocationCoordinateTypeWGS84,
23 BMKLocationCoordinateTypeGCJ02
29 typedef NS_ENUM(
int, BMKLocationNetworkState) {
30 BMKLocationNetworkStateUnknown = 0,
31 BMKLocationNetworkStateWifi,
32 BMKLocationNetworkStateWifiHotSpot,
33 BMKLocationNetworkStateMobile2G,
34 BMKLocationNetworkStateMobile3G,
35 BMKLocationNetworkStateMobile4G
45 typedef NS_ENUM(NSInteger, BMKLocationErrorCode)
47 BMKLocationErrorUnKnown = 0,
48 BMKLocationErrorLocFailed = 1,
49 BMKLocationErrorDenied = 2,
50 BMKLocationErrorNetWork = 3,
51 BMKLocationErrorHeadingFailed = 4,
52 BMKLocationErrorGetExtraNetworkFailed = 5,
53 BMKLocationErrorGetExtraParseFailed = 6,
54 BMKLocationErrorFailureAuth = 7,
60 typedef NS_ENUM(NSInteger, BMKLAccuracyAuthorization) {
62 BMKLAccuracyAuthorizationFullAccuracy,
63 BMKLAccuracyAuthorizationReducedAccuracy,
79 #pragma mark - BMKLocationManager
86 @property (nonatomic, weak, nullable) id<BMKLocationManagerDelegate>
delegate;
124 @property(nonatomic, copy, nullable) NSString *
userID;
137 - (BOOL)requestLocationWithReGeocode:(BOOL)withReGeocode withNetworkState:(BOOL)withNetWorkState completionBlock:(
BMKLocatingCompletionBlock _Nonnull)completionBlock;
189 + (CLLocationCoordinate2D) BMKLocationCoordinateConvert:(CLLocationCoordinate2D) coordinate SrcType:(BMKLocationCoordinateType)srctype DesType:(BMKLocationCoordinateType)destype;
197 + (BOOL) BMKLocationDataAvailableForCoordinate:(CLLocationCoordinate2D)coordinate withCoorType:(BMKLocationCoordinateType)coortype;
214 - (void)requestTemporaryFullAccuracyAuthorizationWithPurposeKey:(NSString * _Nonnull)purposeKey completion:(
void(^ _Nullable)(NSError * _Nullable))completion API_AVAILABLE(ios(14.0));
221 - (void)requestTemporaryFullAccuracyAuthorizationWithPurposeKey:(NSString * _Nonnull)purposeKey API_AVAILABLE(ios(14.0));
226 #pragma mark - BMKLocationManagerDelegate
263 - (void)
BMKLocationManager:(
BMKLocationManager * _Nonnull)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status API_DEPRECATED_WITH_REPLACEMENT("-BMKLocationManagerDidChangeAuthorization", ios(4.2, 14.0));
270 - (void)BMKLocationManagerDidChangeAuthorization:(
BMKLocationManager * _Nonnull)manager;
277 - (BOOL)BMKLocationManagerShouldDisplayHeadingCalibration:(
BMKLocationManager * _Nonnull)manager;
285 didUpdateHeading:(CLHeading * _Nullable)heading;
294 didUpdateNetworkState:(BMKLocationNetworkState)state orError:(NSError * _Nullable)error;