Edit File: DeliveryOffersResource.php
<?php namespace App\Http\Resources; use Illuminate\Http\Resources\Json\JsonResource; class DeliveryOffersResource extends JsonResource { /** * Transform the resource into an array. * * @param \Illuminate\Http\Request $request * @return array */ public static function getdirectDistance($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) { $expected_time=static::getdirectDistance($this->user->lat,$this->user->long,$this->order->deliver_lat,$this->order->deliver_long) *1.2; return [ 'id' => $this->id, 'delegate_id' => $this->user->id??'', 'delegate_name' => $this->user->name??'', 'delegate_avatar' => $this->user->avatarPath??'', 'rate' => $this->user->rate??'', 'expected_time' => (int)$expected_time, 'price' => number_format($this->price), // 'notes' => $this->notes??'' ]; } }
Back to File Manager