更新记录
1.1(2023-03-16)
修复ios端导航问题。
1.0(2022-12-20)
新版发布
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:6.0 - 14.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:12 - 17 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在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原生插件配置”->”云端插件“列表中删除该插件重新选择
MapBox地图导航插件接口使用说明
1、插件对象
<script>
//插件对象
var MapBox = uni.requireNativePlugin('MapBox-Plugin');
export default {
}
</script>
2、检查并授权定位权限
//检查并授权定位权限
MapBox.checkLocationPermission(function(res){
console.log(res);
if (res.result == true) {
//定位已授权
} else {
//定位权限杯拒绝
}
});
导航UI相关接口
1、导航控件标签
<mapbox_navi_view ref="naviView" style="width: 100%;height: 600px;"
@onViewCreated="onViewCreated"></mapbox_navi_view>
2、导航标签对象
//在mounted之后获取对象,注:不能在onLoad里获取对象
mounted() {
//导航view
var naviView = this.$refs.naviView;
}
3、设置导航回调
methods: {
onViewCreated() {
//设置导航回调
naviView.setNaviCallback(function(res){
//console.log(res);
if (res.type == "onLocationChanged") {
//当前位置
that.latitude = res.data.latitude;
that.longitude = res.data.longitude;
} else if (res.type == "onActiveNavigation") {
} else if (res.type == "onInfoPanelHidden") {
//点击结束按钮,回调,关闭页面
uni.navigateBack({});
}
});
}
}
4、路径规划
//路径规划
naviView.requestRoutes({
coordinatesList:[
{
latitude:this.latitude,
longitude:this.longitude
},
p
],//[起点,途经点(可选),终点]
steps:true,
bannerInstructions:true,
voiceInstructions:true,
profile:"cycling"//driving-traffic driving walking cycling
}, function(res){
console.log(res);
if (res.type == "onRoutesReady") {//路径规划成功
//预览路线
naviView.startRoutePreview();
}
});
5、开始导航
startTripSession() {
//开始导航
naviView.startTripSession();
}