• Welcome to Journal web site.

我是 PHP 程序员

- 开发无止境 -

Next
Prev

(8条消息) 小程序获得两个坐标之间的骑行距离_linfengabc123的博客

Data: 2018-09-09 01:46:11Form: JournalClick: 7

小程序获得两个坐标之间的骑行距离
(8条消息) 小程序获得两个坐标之间的骑行距离_linfengabc123的博客-CSDN博客

小程序获得两个坐标之间的骑行距离和路线规划图

1.先下载腾讯地图jssdkv1.2 点击去官网下载

2.然后引入项目

3.在你需要用到的页面引入第一个文件 qqmap-wx-jssdk.js(我没有试过全局引用,以前试过,请求的数据不能return 出去,所以就放弃了,有大佬可以指点下)

const QQMapWX = require('../../../utils/qqmap-wx-jssdk.js')
const qqmapsdk = new QQMapWX({
  key: 'HFXBZ-NQSWI-ZGQGW-5URX4-WUXCF-VWFUQ' // 必填   
});
  • 1
  • 2
  • 3
  • 4

4.下面就是传入参数和选择计算类型了

/**
   * @param {起点经纬度} start 
   * @param {终点经纬度} end
   */
  calculate: function (start, end, type) {
    qqmapsdk.direction({
      mode: 'bicycling', //可选值:'driving'(驾车)、'walking'(步行)、'bicycling'(骑行),不填默认:'driving',可不填
      //from参数不填默认当前地址
      from: start,
      to: end,
      success: function (res) {
      	//里面会返回一堆的参数 我只用了2个 
      	//方案距离(单位/米)
      	console.log(res.result.routes[0].distance)
      	//方案时间(单位分钟)
      	console.log(res.result.routes[0].duration)
      	//下面就是路线规划了 
      	const coors = res.result.routes[0].polyline,
		pl = [];
		//坐标解压(返回的点串坐标,通过前向差分进行压缩)
		const kr = 1000000;
		for (let i = 2; i < coors.length; i++) {
			coors[i] = Number(coors[i - 2]) + Number(coors[i]) / kr;
		}
		//将解压后的坐标放入点串数组pl中
		for (let i = 0; i < coors.length; i += 2) {
			pl.push({
				latitude: coors[i],
				longitude: coors[i +              
Name:
<提交>