当前位置: 首页 > news >正文

uniapp实现路线规划

UniApp是一个基于Vue.js框架开发的跨平台应用开发框架,可以同时构建iOS、Android、H5等多个平台的应用。它使用了基于前端技术栈的Web开发方式,通过编写一套代码,即可在不同平台上运行和发布应用。

UniApp具有以下特点:

  1. 跨平台开发:UniApp支持将一套代码同时转换为iOS、Android、H5等多个平台的应用,大大节省了开发时间和成本。

  2. 兼容性强:UniApp基于Vue.js框架,结合了各个平台的原生能力,可以调用设备的硬件功能,提供丰富的API接口,满足各种应用的需求。

  3. 开发便捷:UniApp使用Vue.js的开发语法,配合强大的插件系统和组件库,使得开发过程更加高效和简洁。

  4. 性能优化:UniApp针对不同平台做了性能优化,实现了快速启动和流畅的用户体验。

  5. 社区活跃:UniApp拥有庞大的开发者社区,提供了丰富的资源和支持,开发者可以互相交流和分享经验。

总之,UniApp是一款强大的跨平台应用开发框架,可以帮助开发者快速构建高性能、兼容多平台的应用。

作为一个可以一端生成多端的框架今天分享一个路线标注的例子

<view class="mine_map"><map id="map" class="map" :latitude="lat" :longitude="long" :show-location="false":polyline="polyline"></map></view>

我是用的uniapp自带的map标签使用的腾讯地图

首先要manifest.json文件如下配置

然后你需要在腾讯地图下载qqmap-wx-jssdk1.2.zip压缩包;

路径:https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/jsSdkOverview

将下载好的压缩包解压然后将其qqmap-wx-jssdk.js文件放到项目文件中;然后将其引入

在data的return中声明两个数组用于存放起点与终点以及一些其他需要用到的变量

form: { // 初始地latitude: '',longitude: '',},to: { // 目的地坐标latitude: '',longitude: '',},
qqmapsdk: {}, // 腾讯地图小程序的SDKpolyline: [], // 路线map: null, // 创建的map对象index: 0,

然后

onReady() {// 创建map对象this.map = uni.createMapContext('map')},

其次

this.qqmapsdk = new QQMapWX({key: '' // 自己申请的key值});this.routePlanning();

最后就是路线规划的重要代码了

// 路线规划routePlanning() {let that = thisthat.qqmapsdk.direction({mode: 'driving', // 驾车from: { // 起始位置(当前位置)坐标latitude: that.lat,longitude: that.long},to: { // 目的地坐标latitude: that.end_lat,longitude: that.end_long,},// 目的地位置坐标success(res) {// console.log(res)var coors = res.result.routes[0].polylinevar pl = [] // 点串数组// 坐标解压(返回的点串坐标,通过前向差分进行压缩)var kr = 1000000for (var i = 2; i < coors.length; i++) {coors[i] = Number(coors[i - 2]) + Number(coors[i]) / kr}// 将解压后的坐标放入点串数组pl中for (var i = 0; i < coors.length; i += 2) {pl.push({latitude: coors[i],longitude: coors[i + 1]})}console.log('点串数组', pl)// 设置polyline属性,将路线显示出来,将解压坐标第一个数据作为起点that.polyline = [{points: pl,color: '#367EEF', // 线的填充色width: 3, // 折现宽度borderWidth: 2, // 边线宽度 borderColor: '#5B98FD', // 边线颜色lineCap: 'square', // 线端头showArrow: true, // 沿线路方向显示箭头}]}})},

注:map标签中:polyline="polyline"为是否显示路线

希望对您有所帮助

http://www.lryc.cn/news/214591.html

相关文章:

  • 飞利浦双串口51单片机485网关
  • 生态扩展:Flink Doris Connector
  • HarmonyOS(二)—— 初识ArkTS开发语言(上)之TypeScript入门
  • 从零开始实现神经网络(一)_NN神经网络
  • C语言 每日一题 Day10
  • C++继承——矩形和长方体
  • 代码随想录打卡第五十八天|● 583. 两个字符串的删除操作 ● 72. 编辑距离
  • 面试流程之——程序员如何写项目经验
  • 框架安全-CVE 漏洞复现DjangoFlaskNode.jsJQuery框架漏洞复现
  • 基于SSM的理发店管理系统
  • 2.Spark的工作与架构原理
  • qt-C++笔记之带有倒计数显示的按钮,计时期间按钮锁定
  • HTML全局属性(global attribute)有哪些?
  • MyBatis-Plus返回getOne返回null疑惑
  • Physics2DPlugin3加载后会跳转gsap官网解决
  • 【AI视野·今日Sound 声学论文速览 第三十二期】Tue, 24 Oct 2023
  • 在Linux上编译gdal3.1.2指南
  • 73. 矩阵置零 --力扣 --JAVA
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • MATLAB算法实战应用案例精讲-【图像处理】机器视觉(基础篇)(八)
  • 由k8s升级慢引起的etcd性能不足的问题排查
  • 如何构建用于Skydel GNSS模拟仿真的SNMP代理方式?
  • vue2+ant-design-vue a-form-model组件二次封装(form表单组件)FormModel 表单
  • 对比解析php和go对JSON处理的区别
  • HTTP和HTTPS本质区别——SSL证书
  • JS 防抖和节流
  • Django开发实例总结(入门级、4.2.6、详细)
  • Variations-of-SFANet-for-Crowd-Counting可视化代码
  • 所有的人机交互都存在不匹配现象
  • LED数码管的静态显示与动态显示(Keil+Proteus)