更新记录
1.54(2022-06-01)
1、地图组件绘制线路和动画绘制线路问题 2、提供了得到2点距离的计算方法 3、根据经纬度数组计算地图缩放级别问题 4、提供了轨迹回放功能,用户可设置轨迹回放时间及轨迹图标 5、新增轨迹回放后能向前端告之完成移动 6、添加实时新的经纬度并绘制在线路上的功能+如果有轨迹球,则轨迹也跟着移动 7、实现地图截屏保存在手机根目录下的 queen-run目录下
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:5.0 - 11.0 | armeabi-v7a:支持,arm64-v8a:未测试,x86:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在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原生插件配置”->”云端插件“列表中删除该插件重新选择
集成高德地图的UI界面,并提供地图轨迹画线与动画画线,截屏等功能 1、uniapp compoent开发的组件在uniapp中不显示的问题 2、地图组件绘制线路和动画绘制线路问题 3、提供了得到2点距离的计算方法 4、根据经纬度数组计算地图缩放级别问题 5、提供了轨迹回放功能,用户可设置轨迹回放时间及轨迹图标 6、新增轨迹回放后能向前端告之完成移动 7、添加实时新的经纬度并绘制在线路上的功能+如果有轨迹球,则轨迹也跟着移动 8、实现地图截屏保存在手机根目录下的 queen-run目录下
一、从后台取回经纬度 ,显示在此地图上组件上
this.pointList = [];
for (let value of res.data) {
this.pointList.push({
latitude: value.latitude,
longitude: value.longitude,
})
}
this.testPosList = this.pointList.splice(500)
let runParams = {
"color": "#00aa00", //----线条颜色
"width": 15, // ----线条宽度
"point": this.pointList, //----要画的点
"aniMSec": 20, //----20毫秒 画一个线路上的点 如果为0 ,则表示直接画线,非动画 【如果需要画轨迹,则此值也需要设置为0】
"trackTime": 5, // 5秒 非毫秒 跑完全程轨迹 有此值时 aniMSec要设为0
"markerIcon": "" //轨迹移动时的图片地址,如 http://xxx.png 如为"" 或无此参数,则会默认的图片进行轨迹移动
}
//画线
that.$refs.aMap.drawPolyline(runParams, (result) => {
console.log("画完了" + JSON.stringify(result))
})
二、地图截图 并返回地址 ,可以根据这个图片合成海报分享 cutImg() { this.$refs.aMap.cutMap((res) => { console.log('截图成功' + JSON.stringify(res)) }); } 三、 实时绘线并有轨迹跟随 -
addPosTest() {
let that = this
let idx = 0
let idt = setInterval(function() {
that.$refs.aMap.addPolyline(that.testPosList[idx], (res) => {
console.log('加点成功:' + idx)
});
idx++;
if (idx == that.testPosList.length) {
clearInterval(idt)
}
}, 500)
},