Пример #1
0
 /**
  * @param $latitudeFrom
  * @param $longitudeFrom
  * @param Place $place
  * @return int
  */
 public function calculateDistance($latitudeFrom, $longitudeFrom, Place $place)
 {
     $latitudeFrom = str_replace(",", ".", $latitudeFrom);
     $longitudeFrom = str_replace(",", ".", $longitudeFrom);
     $latFrom = deg2rad($latitudeFrom);
     $lonFrom = deg2rad($longitudeFrom);
     $latTo = deg2rad($place->getLatitude());
     $lonTo = deg2rad($place->getLongitude());
     $earthRadius = 6371;
     $latDelta = $latTo - $latFrom;
     $lonDelta = $lonTo - $lonFrom;
     $angle = 2 * asin(sqrt(pow(sin($latDelta / 2), 2) + cos($latFrom) * cos($latTo) * pow(sin($lonDelta / 2), 2)));
     return $angle * $earthRadius;
 }