计算两点之间的距离 laravel+小程序+高德

小程序端先将两点的经纬度获取到,然后传到后端通过高德计算出距离。

前端

  /**
   * 点击事件
   * 点击获取起始地点
   */
  begin:function(e){
      var that = this
     wx.chooseLocation({
       latitude: 0,
       success:function(res){
              //维度
             var b_latitude =(res.latitude)
              //经度
              var b_longitude =(res.longitude)
              //将经纬度拼接起来
             var b_address = b_longitude+','+b_latitude
             that.setData({
                  b_address:b_address  
             })
       }
     })
  },
  /**
   * 点击事件
   * 获取终点
   */
  end:function(){
    var that = this
     wx.chooseLocation({
       latitude: 0,
       success:function(res){
               //经度
              var e_latitude = (res.latitude)
              //维度
              var e_longitude = (res.longitude)
              //经纬度
              var e_address= e_longitude+ ','+e_latitude
              that.setData({
                e_address : e_address
              })  
       }
     })  
  },
  /**
   *  同样是点击事件   
   * 点击查询距离 ,将起点和终点的经纬度都传给后端
   */
  check:function(e){
    // var b_address =this.data.b_address,
    
    // var e_address = this.data.e_address,

    var e_address = this.data.e_address
    var b_address = this.data.b_address
    wx.request({
      url: 'http://www.yq.com/index.php/api/check',
      data:{
          e_address:e_address,
          b_address:b_address
      },
        //这是后端计算过的数据返回到前端 这样得出来的就是距离了
      success:function(res){
           console.log(res.data.data.route.paths[0].distance)
      }
    })
  }

  

后端

    /**
     * 查询两点之间的距离
     */
    public function check(){

           $b_address = \request()->get('b_address');
           $e_address = \request()->get('e_address');
           $url  =  "https://restapi.amap.com/v3/direction/driving?origin=$b_address&destination=$e_address&output=json&key=你的";
           $urls = file_get_contents($url,true);
           $urls = json_decode($urls,true);
        return json_encode(['code'=>500,'msg'=>'成功','data'=>$urls]);
    }

      *************************************************************************************************

下面是高德地图获取两点之间距离的链接 :在路径规划的使用说明里,切记xml格式改成json

还有key 就是应用需要你自己创建。

路径规划-API文档-开发指南-Web服务 API | 高德地图API

你可能感兴趣的:(php,小程序,laravel,微信小程序)