Edit File: DelegatesResource.php
<?php namespace App\Http\Resources; use Illuminate\Http\Resources\Json\JsonResource; class DelegatesResource extends JsonResource { public static function directDistance($latitudeFrom, $longitudeFrom, $latitudeTo, $longitudeTo) { $earthRadius = 6371000; // convert from degrees to radians $latFrom = deg2rad($latitudeFrom); $lonFrom = deg2rad($longitudeFrom); $latTo = deg2rad($latitudeTo); $lonTo = deg2rad($longitudeTo); $lonDelta = $lonTo - $lonFrom; $a = pow(cos($latTo) * sin($lonDelta), 2) + pow(cos($latFrom) * sin($latTo) - sin($latFrom) * cos($latTo) * cos($lonDelta), 2); $b = sin($latFrom) * sin($latTo) + cos($latFrom) * cos($latTo) * cos($lonDelta); $angle = atan2(sqrt($a), $b); $in_km = ($angle * $earthRadius) / 1000; $in_km += (40 / 100) * $in_km; $in_km = number_format((float)$in_km, 2, '.', ''); return $in_km; } public function toArray($request) { $distance = static::directDistance($request['receive_lat'], $request['receive_long'], $this->lat, $this->lng); return [ 'id' => $this->id, 'lat' => $this->lat ?? '', 'long' => $this->long ?? '', 'address' => $this->address ?? '', 'distance' => $distance, 'estimate_time' => $distance * 1.2, ]; } }
Back to File Manager