Files
OrderScheduling/Pods/AMapLocation-NO-IDFA/AMapLocationKit.framework/Headers/AMapLocationCommonObj.h
DDIsFriend f0e8a1709d initial
2023-08-18 17:28:57 +08:00

204 lines
6.4 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// AMapLocationCommonObj.h
// AMapLocationKit
//
// Created by AutoNavi on 15/10/22.
// Copyright © 2015年 Amap. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <CoreLocation/CoreLocation.h>
#import <UIKit/UIKit.h>
///AMapLocation errorDomain
extern NSString * const AMapLocationErrorDomain;
///AMapLocation errorCode
typedef NS_ENUM(NSInteger, AMapLocationErrorCode)
{
AMapLocationErrorUnknown = 1, ///<未知错误
AMapLocationErrorLocateFailed = 2, ///<定位错误
AMapLocationErrorReGeocodeFailed = 3, ///<逆地理错误
AMapLocationErrorTimeOut = 4, ///<超时
AMapLocationErrorCanceled = 5, ///<取消
AMapLocationErrorCannotFindHost = 6, ///<找不到主机
AMapLocationErrorBadURL = 7, ///<URL异常
AMapLocationErrorNotConnectedToInternet = 8,///<连接异常
AMapLocationErrorCannotConnectToHost = 9, ///<服务器连接失败
AMapLocationErrorRegionMonitoringFailure=10,///<地理围栏错误
AMapLocationErrorRiskOfFakeLocation = 11, ///<存在虚拟定位风险
AMapLocationErrorNoFullAccuracyAuth = 12, ///<精确定位权限异常
};
///AMapLocation Region State
typedef NS_ENUM(NSInteger, AMapLocationRegionState)
{
AMapLocationRegionStateUnknow = 0, ///<未知
AMapLocationRegionStateInside = 1, ///<在范围内
AMapLocationRegionStateOutside = 2, ///<在范围外
};
///AMapLocation Region Language
typedef NS_ENUM(NSInteger, AMapLocationReGeocodeLanguage)
{
AMapLocationReGeocodeLanguageDefault = 0, ///<默认,根据地区选择语言
AMapLocationReGeocodeLanguageChinse = 1, ///<中文
AMapLocationReGeocodeLanguageEnglish = 2, ///<英文
};
///AMapLocation Accuracy Mode
typedef NS_ENUM(NSInteger, AMapLocationAccuracyMode) {
AMapLocationFullAndReduceAccuracy = 0, ///<默认模式,该模式下会申请临时精确定位权限,如果用户拒绝,则依然开启定位,回调模糊定位数据;
AMapLocationFullAccuracy, ///<高精度模式该模式下会申请临时精确定位权限如果用户拒绝则回调error
AMapLocationReduceAccuracy ///<低精度模式,该模式下不会申请临时精确定位权限,根据当前定位权限回调定位数据;
};
///逆地理信息
@interface AMapLocationReGeocode : NSObject<NSCopying,NSCoding>
///格式化地址
@property (nonatomic, copy) NSString *formattedAddress;
///国家
@property (nonatomic, copy) NSString *country;
///省/直辖市
@property (nonatomic, copy) NSString *province;
///市
@property (nonatomic, copy) NSString *city;
///区
@property (nonatomic, copy) NSString *district;
///乡镇
@property (nonatomic, copy) NSString *township __attribute__((deprecated("该字段从v2.2.0版本起不再返回数据,建议您使用AMapSearchKit的逆地理功能获取.")));
///社区
@property (nonatomic, copy) NSString *neighborhood __attribute__((deprecated("该字段从v2.2.0版本起不再返回数据,建议您使用AMapSearchKit的逆地理功能获取.")));
///建筑
@property (nonatomic, copy) NSString *building __attribute__((deprecated("该字段从v2.2.0版本起不再返回数据,建议您使用AMapSearchKit的逆地理功能获取.")));
///城市编码
@property (nonatomic, copy) NSString *citycode;
///区域编码
@property (nonatomic, copy) NSString *adcode;
///街道名称
@property (nonatomic, copy) NSString *street;
///门牌号
@property (nonatomic, copy) NSString *number;
///兴趣点名称
@property (nonatomic, copy) NSString *POIName;
///所属兴趣点名称
@property (nonatomic, copy) NSString *AOIName;
@end
#pragma mark - AMapLocationPoint
///经纬度坐标点对象
@interface AMapLocationPoint : NSObject<NSCopying,NSCoding>
///纬度
@property (nonatomic, assign) CGFloat latitude;
///经度
@property (nonatomic, assign) CGFloat longitude;
/**
* @brief AMapNaviPoint类对象的初始化函数
* @param lat 纬度
* @param lon 经度
* @return AMapNaviPoint类对象id
*/
+ (AMapLocationPoint *)locationWithLatitude:(CGFloat)lat longitude:(CGFloat)lon;
@end
///POI信息
@interface AMapLocationPOIItem : NSObject <NSCopying, NSCoding>
///id
@property (nonatomic, copy) NSString *pId;
///名称
@property (nonatomic, copy) NSString *name;
///类型
@property (nonatomic, copy) NSString *type;
///类型编码
@property (nonatomic, copy) NSString *typeCode;
///地址信息
@property (nonatomic, copy) NSString *address;
///经纬度
@property (nonatomic, strong) AMapLocationPoint *location;
///电话号码
@property (nonatomic, copy) NSString *tel;
///省份
@property (nonatomic, copy) NSString *province;
///城市
@property (nonatomic, copy) NSString *city;
///区
@property (nonatomic, copy) NSString *district;
@end
///行政区域信息
@interface AMapLocationDistrictItem : NSObject <NSCopying, NSCoding>
///城市编码
@property (nonatomic, copy) NSString *cityCode;
///区域编码
@property (nonatomic, copy) NSString *districtCode;
///区名
@property (nonatomic, copy) NSString *district;
///行政区域轮廓坐标点,每个行政区可能有多个模块,每个模块的坐标点数组由AMapLocationPoint构成
@property (nonatomic, copy) NSArray <NSArray<AMapLocationPoint *> *> *polylinePoints;
@end
///AMapLocation CoordinateType
typedef NS_ENUM(NSUInteger, AMapLocationCoordinateType)
{
AMapLocationCoordinateTypeBaidu = 0, ///<Baidu
AMapLocationCoordinateTypeMapBar, ///<MapBar
AMapLocationCoordinateTypeMapABC, ///<MapABC
AMapLocationCoordinateTypeSoSoMap, ///<SoSoMap
AMapLocationCoordinateTypeAliYun, ///<AliYun
AMapLocationCoordinateTypeGoogle, ///<Google
AMapLocationCoordinateTypeGPS, ///<GPS
};
/**
* @brief 转换目标经纬度为高德坐标系
* @param coordinate 待转换的经纬度
* @param type 坐标系类型
* @return 高德坐标系经纬度
*/
FOUNDATION_EXTERN CLLocationCoordinate2D AMapLocationCoordinateConvert(CLLocationCoordinate2D coordinate, AMapLocationCoordinateType type);
/**
* @brief 判断目标经纬度是否在大陆以及港、澳地区。输入参数为高德坐标系。
* @param coordinate 待判断的目标经纬度
* @return 是否在大陆以及港、澳地区
*/
FOUNDATION_EXTERN BOOL AMapLocationDataAvailableForCoordinate(CLLocationCoordinate2D coordinate);