/** * @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; }