Browse Source

update get location address when CICO

pull/3/head
ibnu 2 years ago
parent
commit
71deadce25
  1. 27
      app/Http/Controllers/Controller.php
  2. 17
      app/Http/Controllers/PresenceController.php
  3. 6
      rest-client.http

27
app/Http/Controllers/Controller.php

@ -2,6 +2,7 @@
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Http;
use Laravel\Lumen\Routing\Controller as BaseController;
@ -251,8 +252,30 @@ class Controller extends BaseController
return $totalCost;
}
private function getLoc($lat, $lng){
$response = Http::get(config('api.nominatim') . "/reverse?lat=".$lat."&lon=".$lng."&format=json");
protected function getLoc($lat, $lng){
// $response = Http::get(config('api.nominatim') . "/reverse?lat=".$lat."&lon=".$lng."&format=json");
// return $response->json;
$url = config('api.nominatim') . "/reverse?lat=".$lat."&lon=".$lng."&format=json";
// $token = config('api.adw_token');
$response = $this->curlRequest($url);
return $response;
}
private function curlRequest($url){
$ch = curl_init();
// $headers = [
// 'Authorization: '.$token
// ];
curl_setopt($ch, CURLOPT_URL, $url);
// curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
if ($response === false)
$response = curl_error($ch);
curl_close($ch);
return json_decode($response);
}
}

17
app/Http/Controllers/PresenceController.php

@ -19,6 +19,11 @@ class PresenceController extends Controller
'user_id' => 'required'
]);
// $test = $this->getLoc($request->clock_in_lat, $request->clock_in_lng)->display_name;
// // display_name
// return response()->json(["data"=>$test,'code'=>400], 400);
$checkLocation = $this->checkLocation($request);
$statusBoundary = false;
$date = date_create($request->clock_time);
@ -28,8 +33,8 @@ class PresenceController extends Controller
}
if($request->type=="out"){
// $clock_out_loc get data from api.nominatim url serach address payload (lat lot);
$clock_out_loc = "-";
$clock_out_loc = $this->getLoc($request->clock_out_lat, $request->clock_out_lng)->display_name;
$dataUpdate = array(
"clock_out"=>$request->clock_time,
"clock_out_lat" => $request->clock_out_lat,
@ -68,9 +73,7 @@ class PresenceController extends Controller
}
$onlyDate = date_format($date,"Y-m-d");
// $clock_in_loc get data from api.nominatim url serach address payload (lat lot);
$clock_in_loc = "-";
$clock_in_loc = $this->getLoc($request->clock_in_lat, $request->clock_in_lng)->display_name;
$dataAdd = array(
'user_id'=> $request->user_id,
@ -276,8 +279,8 @@ class PresenceController extends Controller
$finalData = [];
foreach($dataGet as $data){
$responseIn = $this.getLoc($clock_in_lat, $clock_in_lng);
$responseOut = $this.getLoc($clock_in_lat, $clock_in_lng);
// $responseIn = $this->getLoc($clock_in_lat, $clock_in_lng);
// $responseOut = $this->getLoc($clock_in_lat, $clock_in_lng);
$data->clock_in_loc = $responseIn->json()["display_name"];
$data->clock_out_loc = $responseOut->json()["display_name"];
}

6
rest-client.http

@ -804,10 +804,10 @@ Authorization: Bearer {{token}}
content-type: application/json
{
"clock_out_lat": -6.2622811,
"clock_out_lng": 106.7881746,
"clock_in_lat": -6.2622811,
"clock_in_lng": 106.7881746,
"clock_time": "2023-02-06T16:40:17+07:00",
"type": "out",
"type": "in",
"user_id": 1
}

Loading…
Cancel
Save