204 lines
6.4 KiB
Objective-C
204 lines
6.4 KiB
Objective-C
//
|
||
// 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);
|
||
|