更新记录
1.0.6(2024-04-30)
1、兼容Android 14
1.0.5(2023-09-05)
1、解决同时勾选Geolocation、Maps模块打包失败问题。
1.0.4(2023-09-04)
1、解决插件与Maps模块内置SDK冲突问题。
查看更多平台兼容性
| Android | Android CPU类型 | iOS | 
|---|---|---|
| 适用版本区间:5.0 - 12.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 | 适用版本区间:11 - 16 | 
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios    
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
插件使用说明
插件声明
- 购买本插件前,请先试用,并充分自测确认满足需求之后再行购买。一经购买,概不退还;
- 如有使用上的疑问、bug或者需求建议,可以***(345533496)反馈;
- 请在合法范围内使用,若使用本插件做非法开发,本方概不负责。
Android保活设置
- 开启定位、后台定位权限,通知管理允许通知,允许自启动;
- 耗电保护允许后台运行;
- 电池设置中关闭智能耗电保护、省电模式、应用速冻等。
注意事项:
- 本插件使用需要勾选Geolocation模块;
- iOS开启后台定位即开启进程保活,需要在manifest.json -> App常用其它设置,配置定位的后台运行能力;
- 若要自定义连续定位时间间隔,iOS的连续定位间隔需控制在15s以内,不然会影响后台定位以及进程保活;
- Android手机型号太多,各品牌对手机的限制不尽相同,需要保活而进行的设置也不一样。随着Android系统的更新迭代,保活的难度也在不断加大。最有效的保活方式还是联系厂家添加白名单以实现进程保活。
插件引入
首先需要通过 uni.requireNativePlugin("ModuleName") 获取 module
var aliveModule = uni.requireNativePlugin('LY-DCLocationAlive-LocationAliveModule');
组件Api说明
1 定位
1.1 定位配置项
方法说明:若不需要自定义,此API可以不调用。
特别注意:iOS的连续定位间隔需控制在15s以内,不然会影响后台定位以及进程保活。
aliveModule.initLocationConfig(config)
config 参数说明
| 成员名 | 数据类型 | 必填 | 说明 | 适用 | 
|---|---|---|---|---|
| locationTimeout | int | 否 | 指定单次定位超时时间, 默认5s | Android、iOS | 
| reGeocodeTimeout | int | 否 | 单次定位逆地理超时时间, 默认5s | iOS | 
| locationInterval | int | 否 | 连续定位时间间隔, 默认10s | Android、iOS | 
1.2 单次定位
aliveModule.requestLocationWithReGeocode(withReGeocode, callback);
参数说明
| 成员名 | 数据类型 | 必填 | 说明 | 适用 | 
|---|---|---|---|---|
| withReGeocode | Boolean | 是 | 是否需要地址信息 | Android、iOS | 
| callback | function | 否 | 结果回调 | Android、iOS | 
callback参数说明
| 成员名 | 数据类型 | 说明 | 适用 | 
|---|---|---|---|
| code | int | 状态, -1为成功, 具体请参照高德官方SDK | Android、iOS | 
| errMsg | String | 错误描述 | Android、iOS | 
| latitude | double | 纬度 | Android、iOS | 
| longitude | double | 经度 | Android、iOS | 
| address | Map | 地址信息 | Android、iOS | 
address参数说明
| 成员名 | 数据类型 | 说明 | 适用 | 
|---|---|---|---|
| formattedAddress | String | 格式化地址 | Android、iOS | 
| country | String | 国家 | Android、iOS | 
| province | String | 省/直辖市 | Android、iOS | 
| city | String | 城市 | Android、iOS | 
| district | String | 区 | Android、iOS | 
| citycode | String | 城市编码 | Android、iOS | 
| adcode | String | 区域编码 | Android、iOS | 
| street | String | 街道名称 | Android、iOS | 
| number | String | 门牌号 | Android、iOS | 
| POIName | String | 兴趣点名称 | Android、iOS | 
| AOIName | String | 所属兴趣点名称 | Android、iOS | 
1.3 持续定位
请注意:
1、iOS如果允许后台定位(allowBackground=true),则必须在manifest.json中配置定位的三个权限(没有权限不能后台定位)、以及定位后台运行能力(不配会闪退)。如此App就具备了保活能力。
2、iOS如果不允许后台定位(allowBackground=false),则只需要配置App使用期间的定位权限即可。定位后台运行能力也不需要配置。
3、配置请见插图
aliveModule.startUpdatingLocation(withReGeocode, allowBackground, callback); 
参数说明
| 成员名 | 数据类型 | 必填 | 说明 | 适用 | 
|---|---|---|---|---|
| withReGeocode | Boolean | 是 | 是否需要地址信息 | Android、iOS | 
| allowBackground | Boolean | 是 | 是否允许后台定位 | Android、iOS | 
| callback | function | 否 | 结果回调, 参照单次定位 | Android、iOS | 
1.4 关闭定位
aliveModule.stopUpdatingLocation();
1.5 保活 - 仅限Android使用
保活会自行开启定位,不需要再调用其他获取定位的Api。
aliveModule.keepAlive(callback);
参数说明
| 成员名 | 数据类型 | 必填 | 说明 | 
|---|---|---|---|
| callback | function | 否 | 结果回调, 参照单次定位 | 
1.6 关闭保活 - 仅限Android使用
aliveModule.nonKeepAlive();
2 坐标系转换
2.1 百度09坐标系 --> 国测局坐标系
 let coord = aliveModule.bd09ToGcj02(latitude, longitude); 
请求参数说明
| 成员名 | 数据类型 | 必填 | 说明 | 适用 | 
|---|---|---|---|---|
| latitude | double | 是 | 待转换坐标 - 纬度 | Android、iOS | 
| longitude | double | 是 | 待转换坐标 - 经度 | Android、iOS | 
| coord | Map | 否 | 返回值 | Android、iOS | 
coord返回值说明
| 成员名 | 数据类型 | 必填 | 说明 | 适用 | 
|---|---|---|---|---|
| latitude | double | 是 | 转换后坐标 - 纬度 | Android、iOS | 
| longitude | double | 是 | 转换后坐标 - 经度 | Android、iOS | 
2.2 wgs84坐标系 --> 国测局坐标系
参数请参照2.1
 let coord = aliveModule.wgs84ToGcj02(latitude, longitude); 
2.3 国测局坐标系 --> 百度09坐标系
参数请参照2.1
 let coord = aliveModule.gcj02ToBd09(latitude, longitude); 
2.4 wgs84坐标系 -->百度09坐标系
参数请参照2.1
 let coord = aliveModule.wgs84ToBd09(latitude, longitude); 
2.5 百度09坐标系 --> wgs84坐标系
参数请参照2.1
 let coord = aliveModule.bd09ToWgs84(latitude, longitude); 
2.6 国测局坐标系 --> wgs84坐标系
参数请参照2.1
 let coord = aliveModule.gcj02ToWgs84(latitude, longitude); 
2.7 其他坐标系转高德坐标系 - 仅支持Android (高德定位SDK_API, iOS坐标系转换API在地图SDK内, 但是地图SDK体积太大, 无谓的增加包体积, 不划算)
 aliveModule.convertToAmapCoordinate(sourceCoordType, latitude, longitude, callback); 
参数说明
| 成员名 | 数据类型 | 必填 | 说明 | 适用 | 
|---|---|---|---|---|
| sourceCoordType | String | 是 | 待转换坐标系 | Android | 
| latitude | double | 是 | 待转换坐标 - 纬度 | Android | 
| longitude | double | 是 | 待转换坐标 - 经度 | Android | 
| callback | function | 否 | 结果回调 | Android | 
sourceCoordType 参数, 能且仅能为下方字符串之一("BAIDU"或"MAPBAR"或"MAPABC"等)
BAIDU、MAPBAR、MAPABC、SOSOMAP、ALIYUN、GOOGLE、GPS
callback参数说明
| 成员名 | 数据类型 | 说明 | 适用 | 
|---|---|---|---|
| latitude | double | 纬度 | Android | 
| longitude | double | 经度 | Android | 
3 位置判断与距离计算
3.1 判断指定位置是否在大陆以及港、澳地区。
 let isAvailable = aliveModule.isAMapDataAvailable(latitude, longitude); 
参数说明
| 成员名 | 数据类型 | 必填 | 说明 | 适用 | 
|---|---|---|---|---|
| latitude | double | 是 | 纬度 | Android、iOS | 
| longitude | double | 是 | 经度 | Android、iOS | 
| isAvailable | Boolean | * | 返回值 | Android、iOS | 
3.2 计算两点间的距离(米)
 let distance = aliveModule.calculateLineDistance(lat1, lng1, lat2, lng2); 
参数说明
| 成员名 | 数据类型 | 必填 | 说明 | 适用 | 
|---|---|---|---|---|
| lat1 | double | 是 | 坐标点1 - 纬度 | Android、iOS | 
| lng1 | double | 是 | 坐标点1 - 经度 | Android、iOS | 
| lat2 | double | 是 | 坐标点2 - 纬度 | Android、iOS | 
| lng2 | double | 是 | 坐标点2 - 经度 | Android、iOS | 
参考
iOS 错误码
| 成员名 | 值 | 说明 | 
|---|---|---|
| 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 | 精确定位权限异常 | 
Android 错误码
| 成员名 | 值 | 说明 | 
|---|---|---|
| ERROR_CODE_INVALID_PARAMETER | 1 | * | 
| ERROR_CODE_FAILURE_WIFI_INFO | 2 | * | 
| ERROR_CODE_FAILURE_LOCATION_PARAMETER | 3 | * | 
| ERROR_CODE_FAILURE_CONNECTION | 4 | * | 
| ERROR_CODE_FAILURE_PARSER | 5 | * | 
| ERROR_CODE_FAILURE_LOCATION | 6 | * | 
| ERROR_CODE_FAILURE_AUTH | 7 | * | 
| ERROR_CODE_UNKNOWN | 8 | * | 
| ERROR_CODE_FAILURE_INIT | 9 | * | 
| ERROR_CODE_SERVICE_FAIL | 10 | * | 
| ERROR_CODE_FAILURE_CELL | 11 | * | 
| ERROR_CODE_FAILURE_LOCATION_PERMISSION | 12 | * | 
| ERROR_CODE_FAILURE_NOWIFIANDAP | 13 | * | 
| ERROR_CODE_FAILURE_NOENOUGHSATELLITES | 14 | * | 
| ERROR_CODE_FAILURE_SIMULATION_LOCATION | 15 | * | 
| ERROR_CODE_AIRPLANEMODE_WIFIOFF | 18 | * | 
| ERROR_CODE_NOCGI_WIFIOFF | 19 | * | 
| ERROR_CODE_FAILURE_COARSE_LOCATION | 20 | * | 
| ERROR_CODE_NO_COMPENSATION_CACHE | 33 | * | 

 
                                                                     
                                                                                                                                                 收藏人数:
                                                                        收藏人数:
                                     购买(
                                                        购买( 试用
                                                                                                                试用
                                                     使用 HBuilderX 导入示例项目
                                            使用 HBuilderX 导入示例项目
                                         赞赏(0)
                                        赞赏(0)
                                     
                                             
                                             下载 705
 下载 705
                 赞赏 0
 赞赏 0
                 
             
                     下载 12256
                    下载 12256 
                 
             
                     
             
                     
             
                     
             
                     
             
                     
             
                     
             
                     
             
                     
             
                     
             
                     赞赏 7
                        赞赏 7 
                     
             
                     
             
                     
             
                     
             
                     
                         赞赏
                                赞赏
                             
             京公网安备:11010802035340号
京公网安备:11010802035340号