From eb675dd4b97cd44faac04badd569ba3ca4b537d7 Mon Sep 17 00:00:00 2001 From: Kendrick Chan Date: Wed, 10 Feb 2021 17:06:59 +0800 Subject: [PATCH] Add support for geofencing in location_support api call #536 --- src/Controller/APIController.php | 13 +++++++++---- src/Ramcar/APIResult.php | 8 ++++---- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/Controller/APIController.php b/src/Controller/APIController.php index 7193ca5d..d31cb0e8 100644 --- a/src/Controller/APIController.php +++ b/src/Controller/APIController.php @@ -1954,7 +1954,7 @@ class APIController extends Controller implements LoggedController return $res->getReturnResponse(); } - public function locationSupport(Request $req) + public function locationSupport(Request $req, GeofenceTracker $geo) { $required_params = [ 'longitude', @@ -1965,11 +1965,16 @@ class APIController extends Controller implements LoggedController if ($res->isError()) return $res->getReturnResponse(); + $long = $req->query->get('longitude'); + $lat = $req->query->get('latitude'); + + // geofence + $is_covered = $geo->isCovered($long, $lat); $data = [ - 'longitude' => $req->query->get('longitude'), - 'latitude' => $req->query->get('latitude'), - 'supported' => true, + 'longitude' => $long, + 'latitude' => $lat, + 'supported' => $is_covered, ]; $res->setData($data); diff --git a/src/Ramcar/APIResult.php b/src/Ramcar/APIResult.php index ded7a6d1..469bd8e5 100644 --- a/src/Ramcar/APIResult.php +++ b/src/Ramcar/APIResult.php @@ -14,7 +14,7 @@ class APIResult { $this->err_flag = false; $this->err_message = ''; - $this->data = []; + $this->data = null; } public function setError($flag = true) @@ -39,7 +39,7 @@ class APIResult return $this->err_message; } - public function setData($data) + public function setData($data = null) { $this->data = $data; return $this; @@ -57,8 +57,8 @@ class APIResult else $status = 'success'; - if (count($this->data) == 0) - $this->data = new \stdClass(); + if ($this->data == null || count($this->data) == 0) + $this->data = null; $return_data = [ 'error' => [