更新记录

1.3.1(2021-12-13)

优化后台导航

1.3.0(2021-12-09)

优化后台导航与定位能力。

1.2.0(2021-11-09)

固定Androidsdk为8.0.1

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 11.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 适用版本区间:9 - 14

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
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原生插件配置”->”云端插件“列表中删除该插件重新选择


使用方法 Q群:629429894

注意, 该导航基于高德SDK, 使用该插件不能选Map模块,但是需要勾选geolocation定位模块并选择高德定位!

如仍需使用Map地图功能, 可使用renderjs版地图,该技术可使用高德地图jssdk版全部功能, 请在插件市场搜索renderjs

该插件如下几行代码就可内嵌导航功能,无需安装高德地图

一键导航、路线规划 startNavi

const navi = uni.requireNativePlugin('Lyuan-AMap-Navi');

//方法所有参数
navi.startNavi({    
    start:{//起点,选填,不传使用当前位置    
        lat:28,
        lng:108
    },
    end:{
        //终点
        lat:29,
        lng:108
    },
    list:[{//途径点 , 选填  
         lat:28.5,
         lng:108
    }],   
    theme: 1, //主题颜色: 0蓝色(默认), 1白色, 2黑色
    navi:false // 是否直接启动导航, 默认false打开路线规划页面
}, res => {    console.log('插件回调',res);  });

使用示例

//使用, 传入终点地址即可
navi.startNavi({ 
    end:{
        //终点
        lat:29,
        lng:108
    }
}, res => {    console.log('插件回调',res);  });

骑行、步行、驾车导航 startNaviActivity

没有路线规划页面,直接进入导航状态 骑行与步行不支持算路策略与途径点 必须传入终点end

//驾车
navi.startNaviActivity({        
    end:{
        //终点
        lat:29,
        lng:108
    },
    list:[{//途径点 , 选填  
         lat:28.5,
         lng:108
    }],   
    type: 'drive',
    policy:0,  //算路策略,  看下表算路策略 
}, res => {     console.log(res);  });

//骑行
navi.startNaviActivity({        
    end:{
        //终点
        lat:29,
        lng:108
    }, 
    type: 'riding' 
}, res => {     console.log(res);  });

//步行
navi.startNaviActivity({        
    end:{
        //终点
        lat:29,
        lng:108
    }, 
    type: 'walking' 
}, res => {     console.log(res);   });

ios权限配置说明

  • 需要后台导航的,请在manifest.json配置ios后台运行能力添加:location,audio
  • 配置定位隐私权限的访问描述说明, 参考:https://lbs.amap.com/api/ios-location-sdk/guide/create-project/permission-description
策略ID 策略描述(仅驾车模式支持)
0 速度优先,不考虑当时路况,返回耗时最短的路线,但是此路线不一定距离最短
1 费用优先,不走收费路段,且耗时最少的路线
2 距离优先,不考虑路况,仅走距离最短的路线,但是可能存在穿越小路/小区的情况
3 速度优先,不走快速路,例如京通快速路(因为策略迭代,建议使用13)
4 躲避拥堵,但是可能会存在绕路的情况,耗时可能较长
5 多策略(同时使用速度优先、费用优先、距离优先三个策略计算路径)。其中必须说明,就算使用三个策略算路,会根据路况不固定的返回一到三条路径规划信息
6 速度优先,不走高速,但是不排除走其余收费路段
7 费用优先,不走高速且避免所有收费路段
8 躲避拥堵和收费,可能存在走高速的情况,并且考虑路况不走拥堵路线,但有可能存在绕路和时间较长
9 躲避拥堵和收费,不走高速
10 返回结果会躲避拥堵,路程较短,尽量缩短时间,与高德地图的默认策略(也就是不进行任何勾选)一致
11 返回三个结果包含:时间最短;距离最短;躲避拥堵(由于有更优秀的算法,建议用10代替)
12 返回的结果考虑路况,尽量躲避拥堵而规划路径,与高德地图的“躲避拥堵”策略一致
13 返回的结果不走高速,与高德地图“不走高速”策略一致
14 返回的结果尽可能规划收费较低甚至免费的路径,与高德地图“避免收费”策略一致
15 返回的结果考虑路况,尽量躲避拥堵而规划路径,并且不走高速,与高德地图的“躲避拥堵&不走高速”策略一致
16 返回的结果尽量不走高速,并且尽量规划收费较低甚至免费的路径结果,与高德地图的“避免收费&不走高速”策略一致
17 返回路径规划结果会尽量的躲避拥堵,并且规划收费较低甚至免费的路径结果,与高德地图的“躲避拥堵&避免收费”策略一致
18 返回的结果尽量躲避拥堵,规划收费较低甚至免费的路径结果,并且尽量不走高速路,与高德地图的“避免拥堵&避免收费&不走高速”策略一致
19 返回的结果会优先选择高速路,与高德地图的“高速优先”策略一致
20 返回的结果会优先考虑高速路,并且会考虑路况躲避拥堵,与高德地图的“躲避拥堵&高速优先”策略一致

隐私、权限声明

1. 本插件需要申请的系统权限列表:

<!--允许访问网络,必选权限--> <uses-permission android:name="android.permission.INTERNET" /> <!--允许获取精确位置,实时导航为必选--> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!--允许获取粗略位置,实时导航为必选--> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!--允许获取设备和运营商信息,用于问题排查和网络定位(无gps情况下的定位),若需网络定位功能则必选--> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!--允许获取网络状态,用于网络定位(无gps情况下的定位),若需网络定位功能则必选--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--允许获取wifi网络信息,用于网络定位(无gps情况下的定位),若需网络定位功能则必选--> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!--允许获取wifi状态改变,用于网络定位(无gps情况下的定位),若需网络定位功能则必选--> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!--后台获取位置信息,若需后台定位或持续导航则必选--> <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> <!--用于申请调用A-GPS模块,卫星定位加速--> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <!--允许写入扩展存储,用于写入缓存定位数据--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!--用于用户链接蓝牙时,在导航组件页面的蓝牙连接提醒,建立链接后开发者可选用蓝牙通道进行tts播报--> <uses-permission android:name="android.permission.BLUETOOTH" /> <!--用与导航状态中保持屏幕常亮--> <uses-permission android:name="android.permission.WAKE_LOCK"/> <!--允许写设备缓存,用于问题排查--> <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <!--允许读设备等信息,用于问题排查--> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件使用的 高德导航 SDK会采集数据,详情可参考:https://lbs.amap.com/api/android-navi-sdk/summary

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问