1. function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2) {  
  2.     $theta = $longitude1 - $longitude2;  
  3.     $miles = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta)));  
  4.     $miles = acos($miles);  
  5.     $miles = rad2deg($miles);  
  6.     $miles = $miles * 60 * 1.1515;  
  7.     $feet = $miles * 5280;  
  8.     $yards = $feet / 3;  
  9.     $kilometers = $miles * 1.609344;  
  10.     $meters = $kilometers * 1000;  
  11.     return compact('miles','feet','yards','kilometers','meters');   
  12. }  
  13.    
  14. $point1 = array('lat' => 40.770623, 'long' => -73.964367);  
  15. $point2 = array('lat' => 40.758224, 'long' => -73.917404);  
  16. $distance = getDistanceBetweenPointsNew($point1['lat'], $point1['long'], $point2['lat'], $point2['long']);  
  17. foreach ($distance as $unit => $value) {  
  18.     echo $unit.': '.number_format($value,4).'';  
  19. }  
  20.    
  21. The example returns the following:  
  22.    
  23. miles: 2.6025  
  24. feet: 13,741.4350  
  25. yards: 4,580.4783  
  26. kilometers: 4.1884  
  27. meters: 4,188.3894  

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted on 2014-06-30 10:14  鸟叔手擒大数据  阅读(201)  评论(0)    收藏  举报