diff --git a/android/build.gradle b/android/build.gradle index b3c8e2a..8b1f733 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,12 +1,16 @@ apply plugin: 'com.android.library' +def safeExtGet(prop, fallback) { + rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback +} + android { - compileSdkVersion 23 - buildToolsVersion "23.0.3" + compileSdkVersion safeExtGet("compileSdkVersion", 28) + buildToolsVersion safeExtGet("buildToolsVersion", "28.0.3") defaultConfig { - minSdkVersion 16 - targetSdkVersion 23 + minSdkVersion safeExtGet("minSdkVersion", 16) + targetSdkVersion safeExtGet("targetSdkVersion", 28) versionCode 1 versionName "1.0" } @@ -19,8 +23,8 @@ android { } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - compile 'com.android.support:appcompat-v7:23.4.0' - compile "com.facebook.react:react-native:+" // From node_modules - compile 'com.amap.api:location:3.1.0' + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'com.android.support:appcompat-v7:23.4.0' + implementation "com.facebook.react:react-native:+" // From node_modules + implementation 'com.amap.api:location:3.1.0' } diff --git a/android/src/main/java/com/reactnativecomponent/amaplocation/RCTAMapLocationPackage.java b/android/src/main/java/com/reactnativecomponent/amaplocation/RCTAMapLocationPackage.java index 32b8f77..4b6b288 100644 --- a/android/src/main/java/com/reactnativecomponent/amaplocation/RCTAMapLocationPackage.java +++ b/android/src/main/java/com/reactnativecomponent/amaplocation/RCTAMapLocationPackage.java @@ -20,7 +20,7 @@ public List createNativeModules(ReactApplicationContext reactConte ); } - @Override + // Depreciated RN 0.47 public List> createJSModules() { return Collections.emptyList(); } diff --git a/ios/Frameworks/AMapFoundationKit.framework/1.3.2.d4e0936 b/ios/Frameworks/AMapFoundationKit.framework/1.3.2.d4e0936 deleted file mode 100644 index 4d8da85..0000000 --- a/ios/Frameworks/AMapFoundationKit.framework/1.3.2.d4e0936 +++ /dev/null @@ -1 +0,0 @@ -1.3.2.d4e0936 diff --git a/ios/Frameworks/AMapFoundationKit.framework/AMapFoundationKit b/ios/Frameworks/AMapFoundationKit.framework/AMapFoundationKit index 76bd597..2054173 100644 Binary files a/ios/Frameworks/AMapFoundationKit.framework/AMapFoundationKit and b/ios/Frameworks/AMapFoundationKit.framework/AMapFoundationKit differ diff --git a/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapFoundationKit.h b/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapFoundationKit.h index c0eff13..fdeeef1 100644 --- a/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapFoundationKit.h +++ b/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapFoundationKit.h @@ -3,7 +3,7 @@ // AMapFoundationKit // // Created by xiaoming han on 15/10/28. -// Copyright © 2015年 AutoNavi. All rights reserved. +// Copyright © 2015年 Amap. All rights reserved. // #import diff --git a/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapFoundationVersion.h b/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapFoundationVersion.h index 04ddf56..57b75db 100644 --- a/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapFoundationVersion.h +++ b/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapFoundationVersion.h @@ -3,7 +3,7 @@ // AMapFoundation // // Created by xiaoming han on 15/10/26. -// Copyright © 2015年 AutoNavi. All rights reserved. +// Copyright © 2015年 Amap. All rights reserved. // #import @@ -11,7 +11,7 @@ #ifndef AMapFoundationVersion_h #define AMapFoundationVersion_h -#define AMapFoundationVersionNumber 10302 +#define AMapFoundationVersionNumber 10400 FOUNDATION_EXTERN NSString * const AMapFoundationVersion; FOUNDATION_EXTERN NSString * const AMapFoundationName; diff --git a/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapServices.h b/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapServices.h index 5dcf924..1c0d7b4 100644 --- a/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapServices.h +++ b/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapServices.h @@ -8,26 +8,21 @@ #import +///高德SDK服务类 @interface AMapServices : NSObject -+ (AMapServices *)sharedServices; - /** - * APIkey。设置key,需要绑定对应的bundle id。 + * @brief 获取单例 */ ++ (AMapServices *)sharedServices; + +///APIkey。设置key,需要绑定对应的bundle id。 @property (nonatomic, copy) NSString *apiKey; -/** - * 是否开启HTTPS,默认为NO。 - * 目前已支持服务:key鉴权、云图、搜索。 - */ +///是否开启HTTPS,从1.3.3版本开始默认为YES。 @property (nonatomic, assign) BOOL enableHTTPS; -/** - * 是否启用崩溃日志上传。默认为YES, 只有在真机上设置有效。 - * 开启崩溃日志上传有助于我们更好的了解SDK的状况,可以帮助我们持续优化和改进SDK。 - * 需要注意的是,我是通过设置NSUncaughtExceptionHandler来捕获异常的,如果您的APP中使用了其他收集崩溃日志的SDK,或者自己有设置NSUncaughtExceptionHandler的话,请保证 AMapServices 的初始化是在其他设置NSUncaughtExceptionHandler操作之后进行的,我们的handler会再处理完异常后调用前一次设置的handler,保证之前设置的handler会被执行。 - */ +///是否启用崩溃日志上传。默认为YES, 只有在真机上设置有效。\n开启崩溃日志上传有助于我们更好的了解SDK的状况,可以帮助我们持续优化和改进SDK。需要注意的是,SDK内部是通过设置NSUncaughtExceptionHandler来捕获异常的,如果您的APP中使用了其他收集崩溃日志的SDK,或者自己有设置NSUncaughtExceptionHandler的话,请保证 AMapServices 的初始化是在其他设置NSUncaughtExceptionHandler操作之后进行的,我们的handler会再处理完异常后调用前一次设置的handler,保证之前设置的handler会被执行。 @property (nonatomic, assign) BOOL crashReportEnabled; @end diff --git a/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapURLSearch.h b/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapURLSearch.h index ee898d7..9379f4f 100644 --- a/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapURLSearch.h +++ b/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapURLSearch.h @@ -3,42 +3,38 @@ // AMapFoundation // // Created by xiaoming han on 15/10/28. -// Copyright © 2015年 AutoNavi. All rights reserved. +// Copyright © 2015年 Amap. All rights reserved. // #import #import "AMapURLSearchConfig.h" -/// 调起高德地图URL进行搜索,若是调起失败,可使用`+ (void)getLatestAMapApp;`方法获取最新版高德地图app. +///调起高德地图URL进行搜索,若是调起失败,可使用`+ (void)getLatestAMapApp;`方法获取最新版高德地图app. @interface AMapURLSearch : NSObject -/// 打开高德地图AppStore页面 +/** + * @brief 打开高德地图AppStore页面 + */ + (void)getLatestAMapApp; /** - * 调起高德地图app驾车导航. - * - * @param config 配置参数. - * - * @return 是否成功.若为YES则成功调起,若为NO则无法调起. + * @brief 调起高德地图app驾车导航. + * @param config 配置参数. + * @return 是否成功.若为YES则成功调起,若为NO则无法调起. */ + (BOOL)openAMapNavigation:(AMapNaviConfig *)config; /** - * 调起高德地图app进行路径规划. - * - * @param config 配置参数. - * - * @return 是否成功. + * @brief 调起高德地图app进行路径规划. + * @param config 配置参数. + * @return 是否成功. */ + (BOOL)openAMapRouteSearch:(AMapRouteConfig *)config; /** - * 调起高德地图app进行POI搜索. - * - * @param config 配置参数. - * - * @return 是否成功. + * @brief 调起高德地图app进行POI搜索. + * @param config 配置参数. + * @return 是否成功. */ + (BOOL)openAMapPOISearch:(AMapPOIConfig *)config; diff --git a/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapURLSearchConfig.h b/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapURLSearchConfig.h index f95ab7e..666b492 100644 --- a/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapURLSearchConfig.h +++ b/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapURLSearchConfig.h @@ -10,69 +10,69 @@ #import #import "AMapURLSearchType.h" -/// 导航配置信息 +///导航配置信息 @interface AMapNaviConfig : NSObject -/// 应用返回的Scheme +///应用返回的Scheme @property (nonatomic, copy) NSString *appScheme; -/// 应用名称 +///应用名称 @property (nonatomic, copy) NSString *appName; -/// 终点 +///终点 @property (nonatomic, assign) CLLocationCoordinate2D destination; -/// 导航策略 +///导航策略 @property (nonatomic, assign) AMapDrivingStrategy strategy; @end #pragma mark - -/// 路径搜索配置信息 +///路径搜索配置信息 @interface AMapRouteConfig : NSObject -/// 应用返回的Scheme +///应用返回的Scheme @property (nonatomic, copy) NSString *appScheme; -/// 应用名称 +///应用名称 @property (nonatomic, copy) NSString *appName; -/// 起点坐标 +///起点坐标 @property (nonatomic, assign) CLLocationCoordinate2D startCoordinate; -/// 终点坐标 +///终点坐标 @property (nonatomic, assign) CLLocationCoordinate2D destinationCoordinate; -/// 驾车策略 +///驾车策略 @property (nonatomic, assign) AMapDrivingStrategy drivingStrategy; -/// 公交策略 +///公交策略 @property (nonatomic, assign) AMapTransitStrategy transitStrategy; -/// 路径规划类型 +///路径规划类型 @property (nonatomic, assign) AMapRouteSearchType routeType; @end #pragma mark - -/// POI搜索配置信息 +///POI搜索配置信息 @interface AMapPOIConfig : NSObject -/// 应用返回的Scheme +///应用返回的Scheme @property (nonatomic, copy) NSString *appScheme; -/// 应用名称 +///应用名称 @property (nonatomic, copy) NSString *appName; -/// 搜索关键字 +///搜索关键字 @property (nonatomic, copy) NSString *keywords; -/// 左上角坐标 +///左上角坐标 @property (nonatomic, assign) CLLocationCoordinate2D leftTopCoordinate; -/// 右下角坐标 +///右下角坐标 @property (nonatomic, assign) CLLocationCoordinate2D rightBottomCoordinate; @end diff --git a/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapURLSearchType.h b/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapURLSearchType.h index b97095f..424d905 100644 --- a/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapURLSearchType.h +++ b/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapURLSearchType.h @@ -6,39 +6,39 @@ // Copyright (c) 2015年 xiaoming han. All rights reserved. // -/// 驾车策略 +///驾车策略 typedef NS_ENUM(NSInteger, AMapDrivingStrategy) { - AMapDrivingStrategyFastest = 0, //速度最快 - AMapDrivingStrategyMinFare = 1, //避免收费 - AMapDrivingStrategyShortest = 2, //距离最短 + AMapDrivingStrategyFastest = 0, ///<速度最快 + AMapDrivingStrategyMinFare = 1, ///<避免收费 + AMapDrivingStrategyShortest = 2, ///<距离最短 - AMapDrivingStrategyNoHighways = 3, //不走高速 - AMapDrivingStrategyAvoidCongestion = 4, //躲避拥堵 + AMapDrivingStrategyNoHighways = 3, ///<不走高速 + AMapDrivingStrategyAvoidCongestion = 4, ///<躲避拥堵 - AMapDrivingStrategyAvoidHighwaysAndFare = 5, //不走高速且避免收费 - AMapDrivingStrategyAvoidHighwaysAndCongestion = 6, //不走高速且躲避拥堵 - AMapDrivingStrategyAvoidFareAndCongestion = 7, //躲避收费和拥堵 - AMapDrivingStrategyAvoidHighwaysAndFareAndCongestion = 8 //不走高速躲避收费和拥堵 + AMapDrivingStrategyAvoidHighwaysAndFare = 5, ///<不走高速且避免收费 + AMapDrivingStrategyAvoidHighwaysAndCongestion = 6, ///<不走高速且躲避拥堵 + AMapDrivingStrategyAvoidFareAndCongestion = 7, ///<躲避收费和拥堵 + AMapDrivingStrategyAvoidHighwaysAndFareAndCongestion = 8 ///<不走高速躲避收费和拥堵 }; -/// 公交策略 +///公交策略 typedef NS_ENUM(NSInteger, AMapTransitStrategy) { - AMapTransitStrategyFastest = 0,//最快捷 - AMapTransitStrategyMinFare = 1,//最经济 - AMapTransitStrategyMinTransfer = 2,//最少换乘 - AMapTransitStrategyMinWalk = 3,//最少步行 - AMapTransitStrategyMostComfortable = 4,//最舒适 - AMapTransitStrategyAvoidSubway = 5,//不乘地铁 + AMapTransitStrategyFastest = 0,///<最快捷 + AMapTransitStrategyMinFare = 1,///<最经济 + AMapTransitStrategyMinTransfer = 2,///<最少换乘 + AMapTransitStrategyMinWalk = 3,///<最少步行 + AMapTransitStrategyMostComfortable = 4,///<最舒适 + AMapTransitStrategyAvoidSubway = 5,///<不乘地铁 }; -/// 路径规划类型 +///路径规划类型 typedef NS_ENUM(NSInteger, AMapRouteSearchType) { - AMapRouteSearchTypeDriving = 0, //驾车 - AMapRouteSearchTypeTransit = 1, //公交 - AMapRouteSearchTypeWalking = 2, //步行 + AMapRouteSearchTypeDriving = 0, ///<驾车 + AMapRouteSearchTypeTransit = 1, ///<公交 + AMapRouteSearchTypeWalking = 2, ///<步行 }; diff --git a/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapUtility.h b/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapUtility.h index 0fb9b97..e5e5d87 100644 --- a/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapUtility.h +++ b/ios/Frameworks/AMapFoundationKit.framework/Headers/AMapUtility.h @@ -3,49 +3,46 @@ // AMapFoundation // // Created by xiaoming han on 15/10/27. -// Copyright © 2015年 AutoNavi. All rights reserved. +// Copyright © 2015年 Amap. All rights reserved. // #import #import +//工具方法 + /** - * 工具方法 + * @brief 如果字符串为nil则返回空字符串 */ - FOUNDATION_STATIC_INLINE NSString * AMapEmptyStringIfNil(NSString *s) { return s ? s : @""; } - -/// 坐标类型枚举 +///坐标类型枚举 typedef NS_ENUM(NSUInteger, AMapCoordinateType) { - AMapCoordinateTypeBaidu = 0, // Baidu - AMapCoordinateTypeMapBar, // MapBar - AMapCoordinateTypeMapABC, // MapABC - AMapCoordinateTypeSoSoMap, // SoSoMap - AMapCoordinateTypeAliYun, // AliYun - AMapCoordinateTypeGoogle, // Google - AMapCoordinateTypeGPS, // GPS + AMapCoordinateTypeBaidu = 0, /// +#import "AMapGeoFenceRegionObj.h" + +// 以下类涉及的坐标需要使用高德坐标系坐标(GCJ02) + +@protocol AMapGeoFenceManagerDelegate; + +///地理围栏监听状态类型 +typedef NS_OPTIONS(NSUInteger, AMapGeoFenceActiveAction) +{ + AMapGeoFenceActiveActionNone = 0, ///< 不进行监听 + AMapGeoFenceActiveActionInside = 1 << 0, ///< 在范围内 + AMapGeoFenceActiveActionOutside = 1 << 1, ///< 在范围外 + AMapGeoFenceActiveActionStayed = 1 << 2, ///< 停留(在范围内超过10分钟) +}; + + +///地理围栏管理类(since 2.3.0) +@interface AMapGeoFenceManager : NSObject + + +///实现了 AMapGeoFenceManagerDelegate 协议的类指针。 +@property (nonatomic, weak) id delegate; + + +///需要进行通知的行为,默认为AMapGeoFenceActiveActionInside。 +@property (nonatomic, assign) AMapGeoFenceActiveAction activeAction; + + +///指定定位是否会被系统自动暂停。默认为NO。 +@property (nonatomic, assign) BOOL pausesLocationUpdatesAutomatically; + + +///是否允许后台定位。默认为NO。只在iOS 9.0及之后起作用。设置为YES的时候必须保证 Background Modes 中的 Location updates 处于选中状态,否则会抛出异常。 +@property (nonatomic, assign) BOOL allowsBackgroundLocationUpdates; + +///检测是否存在虚拟定位风险,默认为NO,即不检测。 \n如果设置为YES,检测到风险后,会通过amapGeoFenceManager:didGeoFencesStatusChangedForRegion:customID:error: 的error给出风险提示,error的格式为error.domain==AMapGeoFenceErrorDomain; error.code==AMapGeoFenceErroFailureLocating; +@property (nonatomic, assign) BOOL detectRiskOfFakeLocation; + + +/** + * @brief 添加一个圆形围栏 + * @param center 围栏的中心点经纬度坐标 + * @param radius 围栏的半径,单位:米,要求大于0 + * @param customID 用户自定义ID,可选,SDK原值返回 + */ +- (void)addCircleRegionForMonitoringWithCenter:(CLLocationCoordinate2D)center radius:(CLLocationDistance)radius customID:(NSString *)customID; + + +/** + * @brief 根据经纬度坐标数据添加一个闭合的多边形围栏,点与点之间按顺序尾部相连, 第一个点与最后一个点相连 + * @param coordinates 经纬度坐标点数据,coordinates对应的内存会拷贝,调用者负责该内存的释放 + * @param count 经纬度坐标点的个数,不可小于3个 + * @param customID 用户自定义ID,可选,SDK原值返回 + */ +- (void)addPolygonRegionForMonitoringWithCoordinates:(CLLocationCoordinate2D *)coordinates count:(NSInteger)count customID:(NSString *)customID; + + +/** + * @brief 根据要查询的关键字,类型,城市等信息,添加一个或者多个POI地理围栏 + * @param keyword 要查询的关键字,多个关键字用“|”分割,必填,keyword和type两者至少必选其一 + * @param type 要查询的POI类型,多个类型用“|”分割,必填,keyword和type两者至少必选其一,具体分类编码和规则详见: http://lbs.amap.com/api/webservice/guide/api/search/#text + * @param city 要查询的城市 + * @param size 要查询的数据的条数,(0,25],传入<=0的值为10,传入大于25的值为25,默认10 + * @param customID 用户自定义ID,可选,SDK原值返回 + */ +- (void)addKeywordPOIRegionForMonitoringWithKeyword:(NSString *)keyword POIType:(NSString *)type city:(NSString *)city size:(NSInteger)size customID:(NSString *)customID; + + +/** + * @brief 根据要查询的点的经纬度,搜索半径等信息,添加一个或者多个POI围栏 + * @param locationPoint 点的经纬度坐标,必填 + * @param aroundRadius 查询半径,单位:米,(0,50000],超出范围取3000,默认3000 + * @param keyword 要查询的关键字,多个关键字用“|”分割,可选 + * @param type 要查询的POI类型,多个类型用“|”分割,可选 + * @param size 要查询的数据的条数,(0,25],传入<=0的值为10,传入大于25的值为25,默认10 + * @param customID 用户自定义ID,可选,SDK原值返回 + */ +- (void)addAroundPOIRegionForMonitoringWithLocationPoint:(CLLocationCoordinate2D)locationPoint aroundRadius:(NSInteger)aroundRadius keyword:(NSString *)keyword POIType:(NSString *)type size:(NSInteger)size customID:(NSString *)customID; + + +/** + * @brief 根据要查询的行政区域关键字,添加一个或者多个行政区域围栏 + * @param districtName 行政区域关键字,必填,只支持单个关键词语:行政区名称、citycode、adcode,规则详见: http://lbs.amap.com/api/webservice/guide/api/district/#district + * @param customID 用户自定义ID,可选,SDK原值返回 + */ +- (void)addDistrictRegionForMonitoringWithDistrictName:(NSString *)districtName customID:(NSString *)customID; + + +/** + * @brief 根据customID获得指定的围栏,如果customID传nil,则返回全部围栏 + * @param customID 用户执行添加围栏函数时传入的customID + * @return 获得的围栏构成的数组,如果没有结果,返回nil + */ +- (NSArray *)geoFenceRegionsWithCustomID:(NSString *)customID; + + +/** + * @brief 移除指定围栏 + * @param region 要停止监控的围栏 + */ +- (void)removeTheGeoFenceRegion:(AMapGeoFenceRegion *)region; + + +/** + * @brief 移除指定customID的围栏 + * @param customID 用户执行添加围栏函数时传入的customID + */ +- (void)removeGeoFenceRegionsWithCustomID:(NSString *)customID; + + +/** + * @brief 移除所有围栏 + */ +- (void)removeAllGeoFenceRegions; + + +@end + + + +///地理围栏代理协议(since 2.3.0),该协议定义了获取地理围栏相关回调方法,包括添加、状态改变等。 +@protocol AMapGeoFenceManagerDelegate + +@optional + + +/** + * @brief 添加地理围栏完成后的回调,成功与失败都会调用 + * @param manager 地理围栏管理类 + * @param regions 成功添加的一个或多个地理围栏构成的数组 + * @param customID 用户执行添加围栏函数时传入的customID + * @param error 添加失败的错误信息 + */ +- (void)amapGeoFenceManager:(AMapGeoFenceManager *)manager didAddRegionForMonitoringFinished:(NSArray *)regions customID:(NSString *)customID error:(NSError *)error; + + +/** + * @brief 地理围栏状态改变时回调,当围栏状态的值发生改变,定位失败都会调用 + * @param manager 地理围栏管理类 + * @param region 状态改变的地理围栏 + * @param customID 用户执行添加围栏函数时传入的customID + * @param error 错误信息,如定位相关的错误 + */ +- (void)amapGeoFenceManager:(AMapGeoFenceManager *)manager didGeoFencesStatusChangedForRegion:(AMapGeoFenceRegion *)region customID:(NSString *)customID error:(NSError *)error; + +@end diff --git a/ios/Frameworks/AMapLocationKit.framework/Headers/AMapGeoFenceRegionObj.h b/ios/Frameworks/AMapLocationKit.framework/Headers/AMapGeoFenceRegionObj.h new file mode 100644 index 0000000..e78ac01 --- /dev/null +++ b/ios/Frameworks/AMapLocationKit.framework/Headers/AMapGeoFenceRegionObj.h @@ -0,0 +1,106 @@ +// +// AMapGeoFenceRegionObj.h +// AMapLocationKit +// +// Created by hanxiaoming on 16/12/5. +// Copyright © 2016年 Amap. All rights reserved. +// + +#import "AMapLocationCommonObj.h" + + +///AMapGeoFence Region State +typedef NS_ENUM(NSInteger, AMapGeoFenceRegionStatus) +{ + AMapGeoFenceRegionStatusUnknown = 0, ///< 未知 + AMapGeoFenceRegionStatusInside = 1, ///< 在范围内 + AMapGeoFenceRegionStatusOutside = 2, ///< 在范围外 + AMapGeoFenceRegionStatusStayed = 3, ///< 停留(在范围内超过10分钟) +}; + +#pragma mark - AMapGeoFenceRegion + + +///地理围栏基类,不可直接使用。(since 2.3.0) +@interface AMapGeoFenceRegion : NSObject + + +///AMapGeoFenceRegion的唯一标识符 +@property (nonatomic, copy, readonly) NSString *identifier; + + +///用户自定义ID,可为nil。 +@property (nonatomic, copy, readonly) NSString *customID; + + +///坐标点和围栏的关系,比如用户的位置和围栏的关系 +@property (nonatomic, assign) AMapGeoFenceRegionStatus fenceStatus; + +@end + + +#pragma mark - AMapLocationCircleRegion + + +///圆形地理围栏(since 2.3.0) +@interface AMapGeoFenceCircleRegion : AMapGeoFenceRegion + + +///中心点的经纬度坐标 +@property (nonatomic, readonly) CLLocationCoordinate2D center; + + +///半径,单位:米 +@property (nonatomic, readonly) CLLocationDistance radius; + +@end + + +#pragma mark -AMapGeoFencePolygonRegion + + +///多边形地理围栏(since 2.3.0) +@interface AMapGeoFencePolygonRegion : AMapGeoFenceRegion + + +///经纬度坐标点数据 +@property (nonatomic, readonly) CLLocationCoordinate2D *coordinates; + + +///经纬度坐标点的个数 +@property (nonatomic, readonly) NSInteger count; + + +@end + + +#pragma mark -AMapGeoFencePOIRegion + + +///兴趣点(POI)地理围栏(since 2.3.0) +@interface AMapGeoFencePOIRegion : AMapGeoFenceCircleRegion + + +///POI信息 +@property (nonatomic, strong, readonly) AMapLocationPOIItem *POIItem; + + +@end + + +#pragma mark -AMapGeoFenceDistrictRegion + + +///行政区划地理围栏(since 2.3.0) +@interface AMapGeoFenceDistrictRegion : AMapGeoFenceRegion + + +///行政区域信息 +@property (nonatomic, strong, readonly) AMapLocationDistrictItem *districtItem; + + +///行政区域轮廓坐标点,每个行政区可能有多个模块,每个模块的坐标点数组由AMapLocationPoint构成 +@property (nonatomic, copy, readonly) NSArray *> *polylinePoints; + + +@end diff --git a/ios/Frameworks/AMapLocationKit.framework/Headers/AMapLocationCommonObj.h b/ios/Frameworks/AMapLocationKit.framework/Headers/AMapLocationCommonObj.h index 84fc10c..ec8272a 100644 --- a/ios/Frameworks/AMapLocationKit.framework/Headers/AMapLocationCommonObj.h +++ b/ios/Frameworks/AMapLocationKit.framework/Headers/AMapLocationCommonObj.h @@ -3,78 +3,175 @@ // AMapLocationKit // // Created by AutoNavi on 15/10/22. -// Copyright © 2015年 AutoNavi. All rights reserved. +// Copyright © 2015年 Amap. All rights reserved. // #import #import +#import -/** AMapLocation errorDomain */ + +///AMapLocation errorDomain extern NSString * const AMapLocationErrorDomain; -/** AMapLocation errorCode */ +///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,//!< 地理围栏错误 + AMapLocationErrorUnknown = 1, ///<未知错误 + AMapLocationErrorLocateFailed = 2, ///<定位错误 + AMapLocationErrorReGeocodeFailed = 3, ///<逆地理错误 + AMapLocationErrorTimeOut = 4, ///<超时 + AMapLocationErrorCanceled = 5, ///<取消 + AMapLocationErrorCannotFindHost = 6, ///<找不到主机 + AMapLocationErrorBadURL = 7, /// + +///格式化地址 +@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 + +///纬度 +@property (nonatomic, assign) CGFloat latitude; + +///经度 +@property (nonatomic, assign) CGFloat longitude; + /** - * 逆地理信息 + * @brief AMapNaviPoint类对象的初始化函数 + * @param lat 纬度 + * @param lon 经度 + * @return AMapNaviPoint类对象id */ -@interface AMapLocationReGeocode : NSObject ++ (AMapLocationPoint *)locationWithLatitude:(CGFloat)lat longitude:(CGFloat)lon; + +@end + +///POI信息 +@interface AMapLocationPOIItem : NSObject + +///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 -@property (nonatomic, copy) NSString *formattedAddress;//!< 格式化地址 +///城市编码 +@property (nonatomic, copy) NSString *cityCode; -@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 *districtCode; -@property (nonatomic, copy) NSString *street; //!< 街道名称 -@property (nonatomic, copy) NSString *number; //!< 门牌号 +///区名 +@property (nonatomic, copy) NSString *district; -@property (nonatomic, copy) NSString *POIName; //!< 兴趣点名称 -@property (nonatomic, copy) NSString *AOIName; //!< 所属兴趣点名称 +///行政区域轮廓坐标点,每个行政区可能有多个模块,每个模块的坐标点数组由AMapLocationPoint构成 +@property (nonatomic, copy) NSArray *> *polylinePoints; @end -/** AMapLocation CoordinateType */ +///AMapLocation CoordinateType typedef NS_ENUM(NSUInteger, AMapLocationCoordinateType) { - AMapLocationCoordinateTypeBaidu = 0, //!< Baidu - AMapLocationCoordinateTypeMapBar, //!< MapBar - AMapLocationCoordinateTypeMapABC, //!< MapABC - AMapLocationCoordinateTypeSoSoMap, //!< SoSoMap - AMapLocationCoordinateTypeAliYun, //!< AliYun - AMapLocationCoordinateTypeGoogle, //!< Google - AMapLocationCoordinateTypeGPS, //!< GPS + AMapLocationCoordinateTypeBaidu = 0, /// @@ -11,3 +11,7 @@ #import #import #import + +#import +#import +#import diff --git a/ios/Frameworks/AMapLocationKit.framework/Headers/AMapLocationManager.h b/ios/Frameworks/AMapLocationKit.framework/Headers/AMapLocationManager.h index 726eb61..ba92a3e 100644 --- a/ios/Frameworks/AMapLocationKit.framework/Headers/AMapLocationManager.h +++ b/ios/Frameworks/AMapLocationKit.framework/Headers/AMapLocationManager.h @@ -3,7 +3,7 @@ // AMapLocationKit // // Created by AutoNavi on 15/10/22. -// Copyright © 2015年 AutoNavi. All rights reserved. +// Copyright © 2015年 Amap. All rights reserved. // #import @@ -11,8 +11,7 @@ #import "AMapLocationRegionObj.h" /** - * AMapLocatingCompletionBlock 单次定位返回Block - * + * @brief AMapLocatingCompletionBlock 单次定位返回Block * @param location 定位信息 * @param regeocode 逆地理信息 * @param error 错误信息,参考 AMapLocationErrorCode @@ -23,60 +22,41 @@ typedef void (^AMapLocatingCompletionBlock)(CLLocation *location, AMapLocationRe #pragma mark - AMapLocationManager -/** - * AMapLocationManager类 - * - * 初始化之前请设置 AMapLocationServices 中的APIKey,否则将无法正常使用服务. - */ +///AMapLocationManager类。初始化之前请设置 AMapServices 中的apikey(例如:[AMapServices sharedServices].apiKey = @"您的key"),否则将无法正常使用服务. @interface AMapLocationManager : NSObject -/** - * 实现了 AMapLocationManagerDelegate 协议的类指针。 - */ +///实现了 AMapLocationManagerDelegate 协议的类指针。 @property (nonatomic, weak) id delegate; -/** - * 设定定位的最小更新距离。默认为 kCLDistanceFilterNone 。 - */ +///设定定位的最小更新距离。单位米,默认为 kCLDistanceFilterNone,表示只要检测到设备位置发生变化就会更新位置信息。 @property(nonatomic, assign) CLLocationDistance distanceFilter; -/** - * 设定定位精度。默认为 kCLLocationAccuracyBest 。 - */ +///设定期望的定位精度。单位米,默认为 kCLLocationAccuracyBest。定位服务会尽可能去获取满足desiredAccuracy的定位结果,但不保证一定会得到满足期望的结果。 \n注意:设置为kCLLocationAccuracyBest或kCLLocationAccuracyBestForNavigation时,单次定位会在达到locationTimeout设定的时间后,将时间内获取到的最高精度的定位结果返回。 @property(nonatomic, assign) CLLocationAccuracy desiredAccuracy; -/** - * 指定定位是否会被系统自动暂停。默认为YES。 - */ +///指定定位是否会被系统自动暂停。默认为NO。 @property(nonatomic, assign) BOOL pausesLocationUpdatesAutomatically; -/** - * 是否允许后台定位。默认为NO。只在iOS 9.0及之后起作用。 - * - * 设置为YES的时候必须保证 Background Modes 中的 Location updates 处于选中状态,否则会抛出异常。 - */ +///是否允许后台定位。默认为NO。只在iOS 9.0及之后起作用。设置为YES的时候必须保证 Background Modes 中的 Location updates 处于选中状态,否则会抛出异常。由于iOS系统限制,需要在定位未开始之前或定位停止之后,修改该属性的值才会有效果。 @property(nonatomic, assign) BOOL allowsBackgroundLocationUpdates; -/** - * 指定单次定位超时时间,默认为10s。最小值是2s。注意单次定位请求前设置。 - */ +///指定单次定位超时时间,默认为10s。最小值是2s。注意单次定位请求前设置。注意: 单次定位超时时间从确定了定位权限(非kCLAuthorizationStatusNotDetermined状态)后开始计算。 @property(nonatomic, assign) NSInteger locationTimeout; -/** - * 指定单次定位逆地理超时时间,默认为5s。最小值是2s。注意单次定位请求前设置。 - */ +///指定单次定位逆地理超时时间,默认为5s。最小值是2s。注意单次定位请求前设置。 @property(nonatomic, assign) NSInteger reGeocodeTimeout; +///连续定位是否返回逆地理信息,默认NO。 +@property (nonatomic, assign) BOOL locatingWithReGeocode; + +///获取被监控的region集合。 +@property (nonatomic, readonly, copy) NSSet *monitoredRegions; + +///检测是否存在虚拟定位风险,默认为NO,不检测。 \n注意:设置为YES时,单次定位通过 AMapLocatingCompletionBlock 的error给出虚拟定位风险提示;连续定位通过 amapLocationManager:didFailWithError: 方法的error给出虚拟定位风险提示。error格式为error.domain==AMapLocationErrorDomain; error.code==AMapLocationErrorRiskOfFakeLocation; +@property (nonatomic, assign) BOOL detectRiskOfFakeLocation; + /** - * 单次定位 - * - * 如果当前正在连续定位,调用此方法将会失败,返回NO。 - * - * 该方法将会根据设定的 desiredAccuracy 去获取定位信息。 - * 如果获取的定位信息精确度低于 desiredAccuracy ,将会持续的等待定位信息,直到超时后通过completionBlock返回精度最高的定位信息。 - * - * 可以通过 stopUpdatingLocation 方法去取消正在进行的单次定位请求。 - * + * @brief 单次定位。如果当前正在连续定位,调用此方法将会失败,返回NO。\n该方法将会根据设定的 desiredAccuracy 去获取定位信息。如果获取的定位信息精确度低于 desiredAccuracy ,将会持续的等待定位信息,直到超时后通过completionBlock返回精度最高的定位信息。\n可以通过 stopUpdatingLocation 方法去取消正在进行的单次定位请求。 * @param withReGeocode 是否带有逆地理信息(获取逆地理信息需要联网) * @param completionBlock 单次定位完成后的Block * @return 是否成功添加单次定位Request @@ -84,51 +64,29 @@ typedef void (^AMapLocatingCompletionBlock)(CLLocation *location, AMapLocationRe - (BOOL)requestLocationWithReGeocode:(BOOL)withReGeocode completionBlock:(AMapLocatingCompletionBlock)completionBlock; /** - * 连续定位是否返回逆地理信息,默认NO。 - */ -@property (nonatomic, assign) BOOL locatingWithReGeocode; - -/** - * 开始连续定位 - * - * 调用此方法会cancel掉所有的单次定位请求。 + * @brief 开始连续定位。调用此方法会cancel掉所有的单次定位请求。 */ - (void)startUpdatingLocation; /** - * 停止连续定位 - * - * 调用此方法会cancel掉所有的单次定位请求,可以用来取消单次定位。 + * @brief 停止连续定位。调用此方法会cancel掉所有的单次定位请求,可以用来取消单次定位。 */ - (void)stopUpdatingLocation; /** - * 获取被监控的region集合 - */ -@property (nonatomic, readonly, copy) NSSet *monitoredRegions; - -/** - * 开始监控指定的region - * - * 如果已经存在相同identifier的region,则之前的region将会被移除。 - * 对 AMapLocationCircleRegion 类实例,将会优先监控radius小的region。 - * + * @brief 开始监控指定的region。如果已经存在相同identifier的region,则之前的region将会被移除。对 AMapLocationCircleRegion 类实例,将会优先监控radius小的region。 * @param region 要被监控的范围 */ - (void)startMonitoringForRegion:(AMapLocationRegion *)region; /** - * 停止监控指定的region - * + * @brief 停止监控指定的region * @param region 要停止监控的范围 */ - (void)stopMonitoringForRegion:(AMapLocationRegion *)region; /** - * 查询一个region的当前状态 - * - * 查询结果通过amapLocationManager:didDetermineState:forRegion:回调返回 - * + * @brief 查询一个region的当前状态。查询结果通过amapLocationManager:didDetermineState:forRegion:回调返回 * @param region 要查询的region */ - (void)requestStateForRegion:(AMapLocationRegion *)region; @@ -137,37 +95,28 @@ typedef void (^AMapLocatingCompletionBlock)(CLLocation *location, AMapLocationRe #pragma mark - AMapLocationManagerDelegate -/** - * AMapLocationManagerDelegate 协议 - * - * 定义了发生错误时的错误回调方法,连续定位的回调方法等。 - */ + +///AMapLocationManagerDelegate 协议定义了发生错误时的错误回调方法,连续定位的回调方法等。 @protocol AMapLocationManagerDelegate + @optional /** - * 当定位发生错误时,会调用代理的此方法。 - * + * @brief 当定位发生错误时,会调用代理的此方法。 * @param manager 定位 AMapLocationManager 类。 * @param error 返回的错误,参考 CLError 。 */ - (void)amapLocationManager:(AMapLocationManager *)manager didFailWithError:(NSError *)error; /** - * 连续定位回调函数 - * - * 注意:本方法已被废弃,如果实现了amapLocationManager:didUpdateLocation:reGeocode:方法,则本方法将不会回调。 - * + * @brief 连续定位回调函数.注意:本方法已被废弃,如果实现了amapLocationManager:didUpdateLocation:reGeocode:方法,则本方法将不会回调。 * @param manager 定位 AMapLocationManager 类。 * @param location 定位结果。 */ - (void)amapLocationManager:(AMapLocationManager *)manager didUpdateLocation:(CLLocation *)location; /** - * 连续定位回调函数 - * - * 注意:如果实现了本方法,则定位信息不会通过amapLocationManager:didUpdateLocation:方法回调。 - * + * @brief 连续定位回调函数.注意:如果实现了本方法,则定位信息不会通过amapLocationManager:didUpdateLocation:方法回调。 * @param manager 定位 AMapLocationManager 类。 * @param location 定位结果。 * @param reGeocode 逆地理信息。 @@ -175,40 +124,35 @@ typedef void (^AMapLocatingCompletionBlock)(CLLocation *location, AMapLocationRe - (void)amapLocationManager:(AMapLocationManager *)manager didUpdateLocation:(CLLocation *)location reGeocode:(AMapLocationReGeocode *)reGeocode; /** - * 定位权限状态改变时回调函数 - * + * @brief 定位权限状态改变时回调函数 * @param manager 定位 AMapLocationManager 类。 * @param status 定位权限状态。 */ - (void)amapLocationManager:(AMapLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status; /** - * 开始监控region回调函数 - * + * @brief 开始监控region回调函数 * @param manager 定位 AMapLocationManager 类。 * @param region 开始监控的region。 */ - (void)amapLocationManager:(AMapLocationManager *)manager didStartMonitoringForRegion:(AMapLocationRegion *)region; /** - * 进入region回调函数 - * + * @brief 进入region回调函数 * @param manager 定位 AMapLocationManager 类。 * @param region 进入的region。 */ - (void)amapLocationManager:(AMapLocationManager *)manager didEnterRegion:(AMapLocationRegion *)region; /** - * 离开region回调函数 - * + * @brief 离开region回调函数 * @param manager 定位 AMapLocationManager 类。 * @param region 离开的region。 */ - (void)amapLocationManager:(AMapLocationManager *)manager didExitRegion:(AMapLocationRegion *)region; /** - * 查询region状态回调函数 - * + * @brief 查询region状态回调函数 * @param manager 定位 AMapLocationManager 类。 * @param state 查询的region的状态。 * @param region 查询的region。 @@ -216,8 +160,7 @@ typedef void (^AMapLocatingCompletionBlock)(CLLocation *location, AMapLocationRe - (void)amapLocationManager:(AMapLocationManager *)manager didDetermineState:(AMapLocationRegionState)state forRegion:(AMapLocationRegion *)region; /** - * 监控region失败回调函数 - * + * @brief 监控region失败回调函数 * @param manager 定位 AMapLocationManager 类。 * @param region 失败的region。 * @param error 错误信息,参考 AMapLocationErrorCode 。 diff --git a/ios/Frameworks/AMapLocationKit.framework/Headers/AMapLocationRegionObj.h b/ios/Frameworks/AMapLocationKit.framework/Headers/AMapLocationRegionObj.h index d2ae938..ed74aad 100644 --- a/ios/Frameworks/AMapLocationKit.framework/Headers/AMapLocationRegionObj.h +++ b/ios/Frameworks/AMapLocationKit.framework/Headers/AMapLocationRegionObj.h @@ -3,45 +3,36 @@ // AMapLocationKit // // Created by AutoNavi on 15/11/27. -// Copyright © 2015年 AutoNavi. All rights reserved. +// Copyright © 2015年 Amap. All rights reserved. // #import "AMapLocationCommonObj.h" -/// 以下类涉及的坐标需要使用高德坐标系坐标(GCJ02) +// 以下类涉及的坐标需要使用高德坐标系坐标(GCJ02) #pragma mark - AMapLocationRegion -/** - * AMapLocationRegion类,该类提供范围类的基本信息,并无具体实现,不要直接使用。 - */ -@interface AMapLocationRegion : NSObject -/** - * 初始化方法 - * - * @param identifier 唯一标识符,必填,不可为nil - */ -- (instancetype)initWithIdentifier:(NSString *)identifier; +///AMapLocationRegion类,该类提供范围类的基本信息,并无具体实现,不要直接使用。 +@interface AMapLocationRegion : NSObject -/** - * AMapLocationRegion的identifier - */ +///AMapLocationRegion的identifier @property (nonatomic, copy, readonly) NSString *identifier; -/** - * 当进入region范围时是否通知,默认YES - */ +///当进入region范围时是否通知,默认YES @property (nonatomic, assign) BOOL notifyOnEntry; +///当离开region范围时是否通知,默认YES +@property (nonatomic, assign) BOOL notifyOnExit; + /** - * 当离开region范围时是否通知,默认YES + * @brief 初始化方法 + * @param identifier 唯一标识符,必填,不可为nil */ -@property (nonatomic, assign) BOOL notifyOnExit; +- (instancetype)initWithIdentifier:(NSString *)identifier; /** - * 坐标点是否在范围内 - * + * @brief 坐标点是否在范围内 * @param coordinate 要判断的坐标点 * @return 是否在范围内 */ @@ -51,14 +42,18 @@ #pragma mark - AMapLocationCircleRegion -/** - * AMapLocationCircleRegion类,定义一个圆形范围。 - */ + +///AMapLocationCircleRegion类,定义一个圆形范围。 @interface AMapLocationCircleRegion : AMapLocationRegion +///中心点的经纬度坐标 +@property (nonatomic, readonly) CLLocationCoordinate2D center; + +///半径,单位:米 +@property (nonatomic, readonly) CLLocationDistance radius; + /** - * 根据中心点和半径生成圆形范围 - * + * @brief 根据中心点和半径生成圆形范围 * @param center 中心点的经纬度坐标 * @param radius 半径,单位:米 * @param identifier 唯一标识符,必填,不可为nil @@ -66,28 +61,23 @@ */ - (instancetype)initWithCenter:(CLLocationCoordinate2D)center radius:(CLLocationDistance)radius identifier:(NSString *)identifier; -/** - * 中心点的经纬度坐标 - */ -@property (nonatomic, readonly) CLLocationCoordinate2D center; - -/** - * 半径,单位:米 - */ -@property (nonatomic, readonly) CLLocationDistance radius; @end #pragma mark - AMapLocationPolygonRegion -/** - * AMapLocationCircleRegion类,定义一个闭合多边形范围,点与点之间按顺序尾部相连, 第一个点与最后一个点相连。 - */ + +///AMapLocationCircleRegion类,定义一个闭合多边形范围,点与点之间按顺序尾部相连, 第一个点与最后一个点相连。 @interface AMapLocationPolygonRegion : AMapLocationRegion +///经纬度坐标点数据 +@property (nonatomic, readonly) CLLocationCoordinate2D *coordinates; + +///经纬度坐标点的个数 +@property (nonatomic, readonly) NSInteger count; + /** - * 根据经纬度坐标数据生成闭合多边形范围 - * + * @brief 根据经纬度坐标数据生成闭合多边形范围 * @param coordinates 经纬度坐标点数据,coordinates对应的内存会拷贝,调用者负责该内存的释放 * @param count 经纬度坐标点的个数,不可小于3个 * @param identifier 唯一标识符,必填,不可为nil @@ -95,14 +85,6 @@ */ - (instancetype)initWithCoordinates:(CLLocationCoordinate2D *)coordinates count:(NSInteger)count identifier:(NSString *)identifier; -/** - * 经纬度坐标点数据 - */ -@property (nonatomic, readonly) CLLocationCoordinate2D *coordinates; -/** - * 经纬度坐标点的个数 - */ -@property (nonatomic, readonly) NSInteger count; @end diff --git a/ios/Frameworks/AMapLocationKit.framework/Headers/AMapLocationVersion.h b/ios/Frameworks/AMapLocationKit.framework/Headers/AMapLocationVersion.h index 14154a1..f8e65ba 100644 --- a/ios/Frameworks/AMapLocationKit.framework/Headers/AMapLocationVersion.h +++ b/ios/Frameworks/AMapLocationKit.framework/Headers/AMapLocationVersion.h @@ -3,7 +3,7 @@ // AMapLocationKit // // Created by AutoNavi on 16/1/22. -// Copyright © 2016年 AutoNavi. All rights reserved. +// Copyright © 2016年 Amap. All rights reserved. // #import @@ -12,8 +12,8 @@ #ifndef AMapLoctionVersion_h #define AMapLoctionVersion_h -#define AMapLocationVersionNumber 20200 -#define AMapLocationFoundationVersionMinRequired 10300 +#define AMapLocationVersionNumber 20400 +#define AMapLocationFoundationVersionMinRequired 10400 // 依赖库版本检测 #if AMapFoundationVersionNumber < AMapLocationFoundationVersionMinRequired diff --git a/ios/Frameworks/AMapLocationKit.framework/version.txt b/ios/Frameworks/AMapLocationKit.framework/version.txt new file mode 100644 index 0000000..ff72bac --- /dev/null +++ b/ios/Frameworks/AMapLocationKit.framework/version.txt @@ -0,0 +1 @@ +2.4.0+loc.cf23b6f diff --git a/ios/RCTAMapLocation/RCTAMapLocation.xcodeproj/project.pbxproj b/ios/RCTAMapLocation/RCTAMapLocation.xcodeproj/project.pbxproj index c65e21f..e1a0592 100644 --- a/ios/RCTAMapLocation/RCTAMapLocation.xcodeproj/project.pbxproj +++ b/ios/RCTAMapLocation/RCTAMapLocation.xcodeproj/project.pbxproj @@ -221,7 +221,7 @@ 9F042C3B1DD56193001BA3C4 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../../../ios/Frameworks"; + FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../../../../ios/Frameworks"; GCC_PREFIX_HEADER = ""; HEADER_SEARCH_PATHS = ( "$(inherited)", @@ -238,7 +238,7 @@ 9F042C3C1DD56193001BA3C4 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../../../ios/Frameworks"; + FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../../../../ios/Frameworks"; GCC_PREFIX_HEADER = ""; HEADER_SEARCH_PATHS = ( "$(inherited)", diff --git a/ios/RCTAMapLocation/RCTAMapLocation/RCTAMapLocation.m b/ios/RCTAMapLocation/RCTAMapLocation/RCTAMapLocation.m index 8c9ee91..e78f369 100644 --- a/ios/RCTAMapLocation/RCTAMapLocation/RCTAMapLocation.m +++ b/ios/RCTAMapLocation/RCTAMapLocation/RCTAMapLocation.m @@ -9,6 +9,8 @@ #import #import +#define amap_emptyStr(obj) (!obj ? @"" : (((NSNull *)(obj) == [NSNull null] ? @"" : (obj)))) + @interface RCTAMapLocation() @property (nonatomic, strong) AMapLocationManager *locationManager; @@ -171,17 +173,17 @@ - (NSDictionary*)setSuccessResult:(CLLocation *)location regeocode:(AMapLocation @"latitude": @(location.coordinate.latitude), @"longitude": @(location.coordinate.longitude), }, - @"formattedAddress": regeocode.formattedAddress, - @"country": regeocode.country, - @"province": regeocode.province, - @"city": regeocode.city, - @"district": regeocode.district, - @"citycode": regeocode.citycode, - @"adcode": regeocode.adcode, - @"street": regeocode.street, - @"number": regeocode.number, - @"POIName": regeocode.POIName, - @"AOIName": regeocode.AOIName + @"formattedAddress": amap_emptyStr(regeocode.formattedAddress), + @"country": amap_emptyStr(regeocode.country), + @"province": amap_emptyStr(regeocode.province), + @"city": amap_emptyStr(regeocode.city), + @"district": amap_emptyStr(regeocode.district), + @"citycode": amap_emptyStr(regeocode.citycode), + @"adcode": amap_emptyStr(regeocode.adcode), + @"street": amap_emptyStr(regeocode.street), + @"number": amap_emptyStr(regeocode.number), + @"POIName": amap_emptyStr(regeocode.POIName), + @"AOIName": amap_emptyStr(regeocode.AOIName) }; } else {