小程序获取到了路径的各个点,都输出成功。但是到最后一步画折线地图上不显示这是为什么?
下面是代码
5条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
看起来你在尝试使用 UniApp 编写的小程序中绘制折线图,但遇到了问题。根据你提供的代码,我发现了几个可能的问题。让我帮你修复这些问题,并提供一个完整的示例代码。
首先,纠正代码中的变量引用错误(start_address、end_address 和 keyCode),确保它们是正确的变量名。此外,
j++
应该写为j += 2
,因为每次循环我们需要处理两个坐标值。接下来,我会修改并优化代码,使其正确工作。这里是修改后的代码:
methods: { getRouteDriving() { this.point = []; uni.request({ url: 'https://apis.map.qq.com/ws/direction/v1/driving/?from=' + this.startAddress.latitude + ',' + this.startAddress.longitude + '&to=' + this.endAddress.latitude + ',' + this.endAddress.longitude + '&accuracy=30&output=json&callback=cb' + '&key=' + this.keyCode, success: (res) => { if (res.data.status == 0) { let coors = res.data.result.routes[0].polyline; for (let i = 2; i < coors.length; i += 2) { let lat = parseFloat(coors[i]) / 1000000; let lng = parseFloat(coors[i + 1]) / 1000000; this.point.push({ latitude: lat, longitude: lng }); } this.polyline = [{ points: this.point, color: "#3FB837", width: 3, dottedLine: false }]; } }, fail: function(err) { console.error('请求失败', err); } }); } }
这段代码修复了变量引用错误和数组索引问题。同时,为了更好的调试,我添加了一个
fail
回调函数,这样在请求失败时可以在控制台看到错误信息。要确保你的地图组件已经正确设置并且数据已加载到页面上,你需要在你的 WXML 文件中包含地图组件(例如:
<map location="true" />
),然后在适当的地方调用getRouteDriving()
函数,比如在生命周期方法onLoad
中:<view> <map location="true"> <map-polyline path="{{polyline}}" /> </map> </view> <script> export default { onLoad() { this.getRouteDriving(); }, // ...其他代码 }; </script>
在这个例子中,我们使用
<map-polyline>
组件来渲染折线。注意,你需要确保你的项目中已经引入了地图组件,并且有相应的权限配置。如果没有,请参考官方文档进行设置:https://uniapp.dcloud.io/collocation/map/按照以上步骤操作后,你应该能看到地图上的折线。如果仍然有问题,请检查网络请求是否成功,以及是否有任何其他错误信息。
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
- ¥15 安装quartus II18.1时弹出此error,怎么解决?
- ¥15 keil官网下载psn序列号在哪
- ¥15 想用adb命令做一个通话软件,播放录音
- ¥30 Pytorch深度学习服务器跑不通问题解决?
- ¥15 部分客户订单定位有误的问题
- ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
- ¥15 Bug traq 数据包 大概什么价
- ¥15 在anaconda上pytorch和paddle paddle下载报错
- ¥25 自动填写QQ腾讯文档收集表