您当前的位置: 首页 > 解决方案

微信小程序根据金纬度规划路线

  • 作者: admin
  • 发布于 2018-07-03 14:14:26
  • 来源:  
  • 栏目:解决方案

导语: 效果图: 1、wxml文件 <view class="mapHeight"> <map id="map" class="map" p

 

效果图:

15.jpg

1、wxml文件

<view class="mapHeight">   <map      id="map"      class="map"     polyline="{{polyline}}"     markers="{{markers}}"      include-points="{{markers}}"    ></map> </view>

2、 js文件

var coors; Page({   data: {     polyline: [],     markers: [],   },   onReady: function() {     this.mapContext = wx.createMapContext("map", this);   },   onLoad: function(options) {     // 获取当前地图,设置经纬度,传递过来的坐标,用户下单的坐标地址。     console.log(options);     wx.getLocation({       success: (res) => {         this.setData({           latitude: options.latitude,           longitude: options.longitude         });         this.getCenterLocation(res);         wx.request({           url: 'https://apis.map.qq.com/ws/direction/v1/driving/?from=' + this.data.markers[0].latitude + ',' + this.data.markers[0].longitude + '&to=' + this.data.markers[1].latitude + ',' + this.data.markers[1].longitude + '&output=json&callback=cb&key=PD5BZ-K2VRO-CPEWZ-SOBAC-4KCDT-KAFLF',           success: (res) => {             coors = res.data.result.routes[0].polyline             for (var i = 2; i < coors.length; i++) {               coors[i] = coors[i - 2] + coors[i] / 1000000             }             console.log(coors)             //划线             var b = [];             for (var i = 0; i < coors.length; i = i + 2) {               b[i / 2] = {                 latitude: coors[i],                 longitude: coors[i + 1]               };               console.log(b[i / 2])             }             this.setData({               polyline: [{                 points: b,                 color: "#00ae20",                 width: 4,                 dottedLine: false               }],             })           }         })       }     });   },   //  两个坐标 一个下单地址,一个工程师接单地址,然后不停的更新工程师的坐标位置。   getCenterLocation: function(res) {     this.setData({       markers: [{           iconPath: "/resources/center.png",           id: 0,           latitude: res.latitude,           longitude: res.longitude,           width: 30,           height: 30,           alpha: 0.8,           callout: {             content: " 我的位置 ",             color: "#ffffff",             fontSize: 10,             borderRadius: 10,             bgColor: "#6e707c",             padding: 5,             display: "ALWAYS"           }         },         {           iconPath: "/resources/user.png",           id: 1,           latitude: res.latitude + 0.1,           longitude: res.longitude + 0.1,           width: 30,           height: 30,           alpha: 0.8,           callout: {             content: " 工程师 ",             color: "#ffffff",             fontSize: 10,             borderRadius: 10,             bgColor: "#6e707c",             padding: 5,             display: "ALWAYS"           }         }       ],     });   }, });

3、wxss文件

.mapHeight {   display: flex;   flex-direction: column; } .map {   flex: 1;   height: 100vh;   width: 100%; }



温馨提示:这篇文章没有解决您的问题?欢迎添加微信:18948083295,有微信小程序专业人员,保证有问必答。转载本站文章请注明转自http://www.okeydown.com/(微信小程序网)。

  • 微信扫描二维码关注官方微信
  • ▲长按图片识别二维码
关注我们

微信小程序官方微信

栏目最新
栏目推荐
返回顶部