From 23220819d581851a3fceb60831efda53e129665a Mon Sep 17 00:00:00 2001 From: kplaczek Date: Sun, 12 Aug 2018 12:21:16 +0200 Subject: [PATCH] Fixed printing informations about nearest traficar car. Increased size of printed image from 300 to 370px. --- app/Http/Controllers/Keyboard.php | 2 -- app/Http/Controllers/Main.php | 2 +- app/Paper/HtmlToPos.php | 17 +++----------- app/Paper/Paper.php | 1 - app/Paper/Traficar.php | 38 ++++++++++++++++++++++--------- 5 files changed, 31 insertions(+), 29 deletions(-) diff --git a/app/Http/Controllers/Keyboard.php b/app/Http/Controllers/Keyboard.php index dde4ef1..cf34087 100644 --- a/app/Http/Controllers/Keyboard.php +++ b/app/Http/Controllers/Keyboard.php @@ -46,10 +46,8 @@ class Keyboard extends Controller case 'last': $main = new Main(); $main->noteLast(); - break; case $keyboardAction[1] > 0: - echo 'test'; $main = new Main(); $main->printNote((int)$keyboardAction[1]); break; diff --git a/app/Http/Controllers/Main.php b/app/Http/Controllers/Main.php index b959b09..1514121 100755 --- a/app/Http/Controllers/Main.php +++ b/app/Http/Controllers/Main.php @@ -52,7 +52,7 @@ class Main extends Controller $image = $image->greyscale() - ->resize(300, null, function ($constraint) { + ->resize(370, null, function ($constraint) { $constraint->aspectRatio(); $constraint->upsize(); }); diff --git a/app/Paper/HtmlToPos.php b/app/Paper/HtmlToPos.php index ca6567d..aad5025 100644 --- a/app/Paper/HtmlToPos.php +++ b/app/Paper/HtmlToPos.php @@ -79,23 +79,12 @@ class HtmlToPos public function traficar($posText) { - $data = $posText; if (strstr($posText, '[traficar]')) { - $data = []; $traficar = new Traficar(); - $nearest = $traficar->nearestCar(); - - $data['text'] = "Najbliższy traficar:\n" . - 'Model: ' . $nearest['car']['model'] . "\n" . - 'Numer boczny: ' . $nearest['car']['orderNumber'] . "\n" . - 'Rejestracja: ' . $nearest['car']['regNumber'] . "\n" . - 'Lokalizacja: ' . $nearest['car']['location'] . "\n" . - 'Odległość: ' . $nearest['distance'] . "km\n"; -// $data['image'] = $nearest['imageName']; -// $data['image'] = 'https://staticmapmaker.com/img/cartodb_placeholder.png'; - + $nearest = $traficar->nearestCarText(); + $posText = str_replace('[traficar]', $nearest, $posText); } - return $data; + return $posText; } diff --git a/app/Paper/Paper.php b/app/Paper/Paper.php index 80b06b4..9421353 100644 --- a/app/Paper/Paper.php +++ b/app/Paper/Paper.php @@ -86,7 +86,6 @@ class Paper $this->printer->text($convertedData['text']); } else { $this->printer->text($htmlToPos->convert($text)); - } $this->printer->feed(3); } diff --git a/app/Paper/Traficar.php b/app/Paper/Traficar.php index 42d4bc3..2b145fa 100644 --- a/app/Paper/Traficar.php +++ b/app/Paper/Traficar.php @@ -13,7 +13,9 @@ class Traficar { private $homeCoords = ['lat' => 54.417475, 'lng' => 18.481913]; - private $staticMapsKey = 'AIzaSyBPb9wXT2BcK8EH_3FFWVc2MLuDprj7YXw'; + + //dystans w kilometrach w którym auta brane są pod uwagę + const CLOSEST_DISTANCE = 2; /** * @param $lat1 @@ -34,7 +36,29 @@ class Traficar } - public function nearestCar() + /** + * pobiera informacje o najbliższym trafficarze względem punktu podanego jako domowy i zwraca Sformatowane + * informacje na jego temat lub jesli nie ma auta to podaje informację że nie ma dostępnego. + * + * @return string + */ + public function nearestCarText() + { + $info = $this->nearestCarInfo(); + $formatedInfo = 'Brak aut w promieniu ' . self::CLOSEST_DISTANCE . 'km od domu.'; + if ($info['car'] != []) { + $formatedInfo = "Najbliższy traficar:\n" . + 'Model: ' . $info['car']['model'] . "\n" . + 'Numer boczny: ' . $info['car']['orderNumber'] . "\n" . + 'Rejestracja: ' . $info['car']['regNumber'] . "\n" . + 'Lokalizacja: ' . $info['car']['location'] . "\n" . + 'Odległość: ' . $info['distance'] . "km\n"; + } + return $formatedInfo; + } + + + public function nearestCarInfo() { $trafcarData = json_decode(file_get_contents('https://api.traficar.pl/eaw-rest-api/car?shapeId=5'), 1); $closestCar = []; @@ -42,19 +66,11 @@ class Traficar foreach ($trafcarData['cars'] as $car) { $distance = $this->distance($this->homeCoords['lat'], $this->homeCoords['lng'], $car['latitude'], $car['longitude']); - if ($distance < $closestDistance) { + if ($distance < self::CLOSEST_DISTANCE && $distance < $closestDistance) { $closestDistance = $distance; $closestCar = $car; } } - -// $imgNoKey = "https://maps.googleapis.com/maps/api/staticmap?center=" . $latHome . "," . $lngHome . "&size=300x300&maptype=roadmap&format=png&visual_refresh=true&markers=size:mid%7Ccolor:0x000000%7C" . $closestCar['latitude'] . "," . $closestCar['longitude']; -// $img = "https://maps.googleapis.com/maps/api/staticmap?center=" . $this->homeCoords['lat'] . "," . $this->homeCoords['lng'] . "&size=300x300&maptype=roadmap&format=png&visual_refresh=true&markers=size:mid%7Ccolor:0x000000%7C" . $closestCar['latitude'] . "," . $closestCar['longitude'] . '&key=' . $this->staticMapsKey; -// $tmpFile = storage_path() . '/traficar_map.png'; -// file_put_contents($tmpFile, file_get_contents($img)); - - return ['car' => $closestCar, 'distance' => round($closestDistance, 2),]; -// 'imageName' => $tmpFile]; } } \ No newline at end of file