Do not display marker for inactive rider #424
This commit is contained in:
parent
e79ae22f32
commit
2d292e1f9d
2 changed files with 14 additions and 0 deletions
|
|
@ -3,6 +3,7 @@ class DashboardMap {
|
||||||
this.options = options;
|
this.options = options;
|
||||||
this.rider_markers = rider_markers;
|
this.rider_markers = rider_markers;
|
||||||
this.cust_markers = cust_markers;
|
this.cust_markers = cust_markers;
|
||||||
|
this.rider_availability = {};
|
||||||
|
|
||||||
// layer groups
|
// layer groups
|
||||||
this.layer_groups = {
|
this.layer_groups = {
|
||||||
|
|
|
||||||
|
|
@ -88,9 +88,11 @@ class MapEventHandler {
|
||||||
console.log("status " + status);
|
console.log("status " + status);
|
||||||
switch (status) {
|
switch (status) {
|
||||||
case 'rider_offline':
|
case 'rider_offline':
|
||||||
|
this.dashmap.rider_availability[chan_split[1]] = false;
|
||||||
this.dashmap.removeRiderMarker(chan_split[1]);
|
this.dashmap.removeRiderMarker(chan_split[1]);
|
||||||
break;
|
break;
|
||||||
case 'rider_online':
|
case 'rider_online':
|
||||||
|
this.dashmap.rider_availability[chan_split[1]] = true;
|
||||||
var lat = parseFloat(obj.latitude);
|
var lat = parseFloat(obj.latitude);
|
||||||
var lng = parseFloat(obj.longitude);
|
var lng = parseFloat(obj.longitude);
|
||||||
|
|
||||||
|
|
@ -102,10 +104,12 @@ class MapEventHandler {
|
||||||
switch (data) {
|
switch (data) {
|
||||||
case 'available':
|
case 'available':
|
||||||
console.log('putting available marker ' + chan_split[1] + ' ' + lat + ':' + lng);
|
console.log('putting available marker ' + chan_split[1] + ' ' + lat + ':' + lng);
|
||||||
|
dashmap.switchRiderStatus(chan_split[1], 'available');
|
||||||
dashmap.putRiderAvailableMarker(chan_split[1], lat, lng);
|
dashmap.putRiderAvailableMarker(chan_split[1], lat, lng);
|
||||||
break;
|
break;
|
||||||
case 'unavailable':
|
case 'unavailable':
|
||||||
console.log('putting active jo marker ' + chan_split[1] + ' ' + lat + ':' + lng);
|
console.log('putting active jo marker ' + chan_split[1] + ' ' + lat + ':' + lng);
|
||||||
|
dashmap.switchRiderStatus(chan_split[1], 'jo');
|
||||||
dashmap.putRiderActiveJOMarker(chan_split[1], lat, lng);
|
dashmap.putRiderActiveJOMarker(chan_split[1], lat, lng);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -125,7 +129,16 @@ class MapEventHandler {
|
||||||
var lat = parseFloat(pl_split[0]);
|
var lat = parseFloat(pl_split[0]);
|
||||||
var lng = parseFloat(pl_split[1]);
|
var lng = parseFloat(pl_split[1]);
|
||||||
|
|
||||||
|
var display_marker = true;
|
||||||
|
if (this.dashmap.rider_availability.hasOwnProperty(chan_split[1])) {
|
||||||
|
if (!this.dashmap.rider_availability) {
|
||||||
|
console.log('NOT displaying marker for inactive rider');
|
||||||
|
display_marker = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: cache rider availability status and check before displaying icon
|
// TODO: cache rider availability status and check before displaying icon
|
||||||
|
// NOTE: code is already above, need to make it into a function and call it here
|
||||||
this.dashmap.putRiderAvailableMarker(chan_split[1], lat, lng);
|
this.dashmap.putRiderAvailableMarker(chan_split[1], lat, lng);
|
||||||
break;
|
break;
|
||||||
case "status":
|
case "status":
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue