Laravel计算两点之间的距离

时间:2018-06-27 16:15:38

标签: php jquery laravel

我正在使用下面的代码来计算两点之间的距离,它的工作正常,但是每天在使用该代码2或3个小时后,响应变得非常缓慢,我使用用户添加了两点谷歌API也获得自动完成地址,另一点只是定点。 有没有其他方法可以计算距离而不是使用此代码,或者可以使其快速响应

<script>
$(document).on('click', '#save_address', function(e){
  var currentadd = $('#autocomplete').val();
       $.ajax({
        type:'get',
        url:'{{URL::to('Get_distance')}}',
           data: {
            '_token': $('input[name=_token]').val(),
            'currentadd':currentadd,      
           },
        success:function(data){
       $('#address_header').html($('#postal_code').val());
        }
       });
       });
     </script>

控制器

public function getdistance(Request $request)
{
  $currentaddress =$request->currentadd;
 $from = '4429 N Broadway St, Chicago, IL 60640,United States';
 $remFrom = str_replace(',', '', $from); //Remove Commas
    $from = urlencode($remFrom);
  $to = $currentaddress;
  $remTo = str_replace(',', '', $to); //Remove Commas
  $to = urlencode($remTo);
   $data = file_get_contents("http://maps.googleapis.com/maps/api/distancematrix/json?origins=$from&destinations=$to&language=en-EN&sensor=false&");
$data = json_decode($data,true);
  $distance = $data['rows'][0]['elements'][0]['distance']['value'];
   $mile=$distance/1000;
 $mile=number_format((float)$mile, 2, '.', '');
 return response()->json([$mile]);
  }

0 个答案:

没有答案