手把手教你,如何在小程序上面画地图的polyline

最终效果
在这里插入图片描述

做这个之前需要很多前戏,比如申请腾讯地图key和用户定位、引入qqmap-wx-jssdk.js等
这些小儿科前戏就不在这里说了,主要说一下怎么划线的

第一步建好对应文件之后,引入Map插件

对地图进行绑定ID和设置宽高
id很有用的比如点击某个按钮回到当前定位,通过moveToLocation什么的

对地图的参数进行赋值

setting、markers、polyline、longitude、latitude 等
具体介绍请点击查看 微信开放文档 这里重点介绍 polyline

简介polyline

polyline 是数组套对象,每一个对象代表一个线

微信文档

[{
      points: targetData.AtLastLineList,//是一个数组形式的坐标点[{lat,log}]
      color:"#FA6400",//线条的颜色
      width: 10,//宽度
      arrowLine: true,//是否带箭头
      borderWidth:2//线的边框宽度,还有很多参数,请看文档 
    }]

points是需要进行解析的
下面是我封装了一个解析points和距离等的一个方法

该方法接收两个参数,from和to就是线的起始位置和结束位置,通过promise返回二次处理过后的数据
对routes的polyline数据进行解析,得到最终画的线

//获取位置坐标,距离,和路线
export const getLine= {
  getLine:(from,to)=>{
    return new Promise((resolve,rej)=>{
      let url=`https://apis.map.qq.com/ws/direction/v1/driving/?from=${from.latitude},${from.longitude}&to=${to.latitude},${to.longitude}&output=json&key=自己申请的腾讯地图官方key`
      wx.request({
        url: url,
        method: 'get',
        success(res) {
          let coors = res.data.result.routes[0].polyline
              for (var i = 2; i < coors.length; i++)
              { coors[i] = coors[i - 2] + coors[i] / 1000000 }
              let coors_new = [];  
              for(var j = 0; j < coors.length; j++){
                  coors_new.push({
                  latitude: parseFloat(coors[j]),
                  longitude: parseFloat(coors[j+1])
                })
                j++;
              } 
              res.AtLastLineList=coors_new
              resolve(res)
        }})
    })
  }
}

到这里一条完美的线就算画完了
在这里插入图片描述
小蓝点需要在setting里面的showLocation设置为true

我上面的取和送是通过markers进行的标注,把后端给的数据进行循环生成markers,然后setState对数据赋值就好了

  • 11
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
Google地图Polyline是一种在Google地图上绘制并展示动态效果的功能。Polyline是一种用于绘制直线、曲线或自定义形状的图形对象。该功能允许用户在地图上绘制一条Polyline,并通过设置Polyline的属性和参数来创建动效果。 在Google地图上,可以使用PolylineOptions对象来设置Polyline的属性,如颜色、线宽等。通过PolylineOptions对象的add方法,可以将多个坐标点添加到Polyline中,并根据坐标点的顺序绘制Polyline。通过设置Polyline的动效果,可以使Polyline的绘制过程更加平滑和流畅。 一种常见的Polyline效果是通过逐步绘制坐标点来展示Polyline的绘制过程。通过设置PolylineOptions对象的geodesic属性为true,可以创建一个大地测距的Polyline,使其更加贴合地图的曲面。通过Polyline的setPoints方法,可以设置Polyline的坐标点数组。然后,通过Polyline的setGeodesic方法设置动的启动效果,如从起点到终点的动。 另一种Polyline效果是通过设置Polyline的虚线样式来实现。通过PolylineOptions对象的pattern方法,可以设置Polyline的虚线样式,如[10,20]表示绘制长度为10像素的线段和长度为20像素的空白区域。通过不断改变pattern数组的值,可以创建类似闪烁的动效果。 总之,Google地图Polyline是一种通过设置Polyline的属性和参数,在地图上绘制并展示动态效果的功能。通过不同的设置和参数组合,可以创建出各种各样的Polyline效果,使地图更加生动和可视化。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值