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.
204 lines
6.4 KiB
204 lines
6.4 KiB
1 year ago
|
//
|
||
|
// 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);
|
||
|
|