From 85a085d65e647351ad3820e6d3c4e5c7a3e12150 Mon Sep 17 00:00:00 2001 From: user Date: Thu, 29 Oct 2020 15:53:50 +0100 Subject: [PATCH] added icons for dead battery scooters (no battery) and damaged/maintenance ones --- website/map/index.php | 41 +++++++++++++++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/website/map/index.php b/website/map/index.php index 3d54705..7f7cb3a 100644 --- a/website/map/index.php +++ b/website/map/index.php @@ -12,7 +12,7 @@ $scooters = array( array('https://platform.tier-services.io/v1/vehicle/00020bdd-ee4c-486a-90f5-dd04672cfc54', 'Martin Howse', 'wok_the_cables', 'Adventure game for psychogeophysical divination of portals, realtime instructions to follow #wokthecables'), array('https://platform.tier-services.io/v1/vehicle/acd0c627-5b16-461e-a662-65cef778d94d', 'Sofya Aleynikova', 'followers', 'Eine weibliche Protagonistin manifestiert sich als Meme im Web und stellt die richtigen Fragen.'), array('https://platform.tier-services.io/v1/vehicle/7eebb2e6-2694-43a2-b390-d8fc70124377', 'JODI', '#4b38$R0ut.IDx', '██████████████████████████████████████████████████▒▒'), - array('https://platform.tier-services.io/v1/vehicle/50e749fc-1ebb-41b0-9de7-952db5c0aa05', 'Rosa Menkman', 'Ariane', 'Ariane is a famous Shutterstock model. She also worries about getting older.'), + array('https://platform.tier-services.io/v1/vehicle/50e749fc-1ebb-41b0-9de7-952db5c0aa05', 'Rosa Menkmann', 'Ariane', 'Ariane is a famous Shutterstock model. She also worries about getting older.'), array('https://platform.tier-services.io/v1/vehicle/30895827-25f1-4c07-8528-25c215e80336', 'Sarah Grant', 'Plague Rave 2020', 'Take a katamari style tour with corona through the vibrant Berlin club scene. Download a souvenir photo at the end of the trip!'), array('https://platform.tier-services.io/v1/vehicle/2de46e02-d816-47eb-9ad8-0ecb4178af25', 'Danja Vasiliev', 'need4speed', 'A situationist game in public space adapted for the micro-mobility sector. Rent a scooter, ride while making continuous and sharp turns and find l00t!'), array('https://platform.tier-services.io/v1/vehicle/f42debc7-2dd3-4b64-9956-de96a12d2af9', 'Constant Dullaart', 'constant time', 'Your network, your home, as temporary as seconds on the clock. Reconnect.'), @@ -36,7 +36,8 @@ global $scooters; //"import" the global variable into the function's scope $pos = $lat.', '.$lng; // construct lat/lon for use in leafet $lst = $arr["data"]["attributes"]["lastLocationUpdate"]; // get time of last position $rnt = $arr["data"]["attributes"]["isRentable"]; // check if scooter is rentable, - $act = $arr["data"]["attributes"]["state"]; // check if scooter is ACTIVE or MAINTAINANCE + $act = $arr["data"]["attributes"]["state"]; // check if scooter is: ACTIVE, INACTIVE, MAINTAINANCE, DAMAGED + $bat = $arr["data"]["attributes"]["batteryLevel"]; // battery level 0-100 // access values from the multidimensional $scooters array $nam = $scooters[$id][1]; // get the artist name $tit = $scooters[$id][2]; // get the works title @@ -67,7 +68,8 @@ function makeMarker(int $id){ // generate appropriate markers based on latest JS $pos = $arr[$id]["lastPos"]; // get last known position $lst = $arr[$id]["lastLocationUpdate"]; // get time of last position $rnt = $arr[$id]["isRentable"]; // check if scooter is rentable, - $act = $arr[$id]["state"]; // check if scooter is ACTIVE or MAINTAINANCE + $act = $arr[$id]["state"]; // check if scooter is: ACTIVE, INACTIVE, MAINTAINANCE, DAMAGED + $bat = $arr[$id]["batteryLevel"]; // battery level 0-100 // access values from the multidimensional $scooters array $nam = $arr[$id]["name"]; // get the artist name $tit = $arr[$id]["title"]; // get the works title @@ -80,22 +82,39 @@ function makeMarker(int $id){ // generate appropriate markers based on latest JS //check if scooter is rentable if($rnt == true && $act === 'ACTIVE'){ $marker = 'var scooter'.$id.' = L.marker(['.$pos.'], {time: "'.$lst.'"}).addTo(map) - .bindPopup("'.$tit.'
'.$des.'
Last updated: '.$lst=str_replace(array('T', 'Z'), ' ', $lst).'
Status: rentable, gallery online") + .bindPopup("'.$tit.'
'.$des.'
Last updated: '.$lst=str_replace(array('T', 'Z'), ' ', $lst).'
Status: rentable, gallery available") .bindTooltip("'.$nam.'").setIcon(availableIcon);'; - } elseif ($rnt == false && $act === 'ACTIVE') { + //check if scooter is rented out + }; + if ($rnt == false && $act === 'ACTIVE') { $marker = 'var scooter'.$id.' = L.marker(['.$pos.'], {time: "'.$lst.'"}).addTo(map) .bindPopup("'.$tit.'
'.$des.'
Last updated: '.$lst=str_replace(array('T', 'Z'), ' ', $lst).'
Status: rented out, gallery on the move") .bindTooltip("'.$nam.'").setIcon(isRentedIcon);'; }; - //check if scooter is in maintenace - if($act !== "ACTIVE"){ + //check if scooter battery is low + if($act === "INACTIVE" && $bat > 0){ $marker = 'var scooter'.$id.' = L.marker(['.$pos.'], {time: "'.$lst.'"}).addTo(map) .bindPopup("'.$tit.'
'.$des.'
Last updated: '.$lst=str_replace(array('T', 'Z'), ' ', $lst).'
Status: battery low, gallery online") + .bindTooltip("'.$nam.'").setIcon(lowBatIcon);'; + }; + + //check if scooters battery is dead + if($act === "INACTIVE" && $bat == 0){ + $marker = 'var scooter'.$id.' = L.marker(['.$pos.'], {time: "'.$lst.'"}).addTo(map) + .bindPopup("'.$tit.'
'.$des.'
Last updated: '.$lst=str_replace(array('T', 'Z'), ' ', $lst).'
Status: battery dead, gallery unavailable") + .bindTooltip("'.$nam.'").setIcon(noBatIcon);'; + }; + + //check if scooters is dead + if($act === "DAMAGED" || $act === "MAINTAINANCE"){ + $marker = 'var scooter'.$id.' = L.marker(['.$pos.'], {time: "'.$lst.'"}).addTo(map) + .bindPopup("'.$tit.'
'.$des.'
Last updated: '.$lst=str_replace(array('T', 'Z'), ' ', $lst).'
Status: scooter in maintenance, gallery unavailable") .bindTooltip("'.$nam.'").setIcon(isMaintenanceIcon);'; }; + return $marker; @@ -420,9 +439,15 @@ function callAPI($url){ var isRentedIcon = L.AwesomeMarkers.icon( {"icon": "hourglass-half", "iconColor": "white", "spin": "true", "markerColor": "pink", "prefix": "fa"} ); - var isMaintenanceIcon = L.AwesomeMarkers.icon( + var lowBatIcon = L.AwesomeMarkers.icon( {"icon": "battery-1", "iconColor": "white", "markerColor": "pink", "prefix": "fa"} ); + var noBatIcon = L.AwesomeMarkers.icon( + {"icon": "battery-empty", "iconColor": "white", "markerColor": "black", "prefix": "fa"} + ); + var isMaintenanceIcon = L.AwesomeMarkers.icon( + {"icon": "wrench", "iconColor": "white", "markerColor": "black", "prefix": "fa"} + ); var map = L.map('map', { zoomControl: false, attributionControl: false }).setView([52.516190, 13.377693], 11.5);