微信小程序开发-获取高德起点至终点骑行时间/距离、步行时间/距离

小程序开发中偶尔会用到当前位置-目标位置经纬度的骑行时间、骑行距离、步行时间、步行距离,如果是直线的距离时间就会有大大的误差,所有可以用高德地图api,高德有微信小程序版本api,可以去官网选择小程序版本的注册,下载(下载后放在小程序项目的 utils文件夹下即可)、然后获得开发者key。
使用时候先获取到地图就行:var myAmapFun = new amapFile.AMapWX({ key: key });key=开发者key,
过程写好了直接用即可,格式下面注释很清晰。

1.获取步行距离+时间

我只用到距离,时间在返回值也有,可以看看。

    var that = me;
    var key = this.data.gdkey;
    var myAmapFun = new amapFile.AMapWX({ key: key });
    //获取步行距离
    myAmapFun.getWalkingRoute({
      origin: pointInfo.startPoi,//'116.481028,39.989643',
      destination: pointInfo.endPoi,//'116.434446,39.90816',
      success: function (data) {
        var pointInfo = that.data.pointInfo;
        if (data.paths[0] && data.paths[0].distance) {
          pointInfo.distance = (data.paths[0].distance/1000).toFixed(2);
        }
        if (data.paths[0] && data.paths[0].duration) {
          pointInfo.walkCost = parseInt(data.paths[0].duration / 60);
        } 
        that.setData({
          pointInfo: pointInfo
        });
      },
      fail: function (info) {
        console.log('获取步行时间失败' + info);
      }
    });
2.获取骑行距离+时间

我只用到距离,时间在返回值也有,可以看看。

//获取当前位置 到 最近车站 的高德api返回 步行距离、步行时间、骑车时间
//获取骑车距离
    myAmapFun.getRidingRoute({
      origin: pointInfo.startPoi,//'116.481028,39.989643',
      destination: pointInfo.endPoi,//'116.434446,39.90816',
      success: function (data) {
        var pointInfo = that.data.pointInfo;
        if (data.paths[0] && data.paths[0].duration) {
          pointInfo.bikeCost = parseInt(data.paths[0].duration / 60);
        }
        that.setData({
          pointInfo: pointInfo
        });
      },
      fail: function (info) {
        console.log('获取骑车时间失败' + info);
      }
    })

你可能感兴趣的:(微信小程序开发-获取高德起点至终点骑行时间/距离、步行时间/距离)