Fix getting rider name for rider markers #472
This commit is contained in:
parent
a2245fef2b
commit
78554ec9c6
1 changed files with 57 additions and 52 deletions
|
|
@ -231,30 +231,38 @@ class DashboardMap {
|
|||
);
|
||||
}
|
||||
|
||||
putRiderAvailableMarker(id, lat, lng, name) {
|
||||
this.putMarkerWithLabel(
|
||||
id,
|
||||
lat,
|
||||
lng,
|
||||
this.rider_markers,
|
||||
this.options.icons.rider_available,
|
||||
this.layer_groups.rider_available,
|
||||
this.options.rider_popup_url,
|
||||
name
|
||||
);
|
||||
putRiderAvailableMarker(id, lat, lng) {
|
||||
var my = this;
|
||||
|
||||
my.getRiderName(id, function(name) {
|
||||
my.putMarkerWithLabel(
|
||||
id,
|
||||
lat,
|
||||
lng,
|
||||
my.rider_markers,
|
||||
my.options.icons.rider_available,
|
||||
my.layer_groups.rider_available,
|
||||
my.options.rider_popup_url,
|
||||
name
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
putRiderActiveJOMarker(id, lat, lng, name) {
|
||||
this.putMarkerWithLabel(
|
||||
id,
|
||||
lat,
|
||||
lng,
|
||||
this.rider_markers,
|
||||
this.options.icons.rider_active_jo,
|
||||
this.layer_groups.rider_active_jo,
|
||||
this.options.rider_popup_url,
|
||||
name
|
||||
);
|
||||
putRiderActiveJOMarker(id, lat, lng) {
|
||||
var my = this;
|
||||
|
||||
my.getRiderName(id, function(name) {
|
||||
my.putMarkerWithLabel(
|
||||
id,
|
||||
lat,
|
||||
lng,
|
||||
my.rider_markers,
|
||||
my.options.icons.rider_active_jo,
|
||||
my.layer_groups.rider_active_jo,
|
||||
my.options.rider_popup_url,
|
||||
name
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
removeRiderMarker(id) {
|
||||
|
|
@ -305,41 +313,38 @@ class DashboardMap {
|
|||
var lng = data.longitude;
|
||||
var name = '';
|
||||
|
||||
if (my.rider_names.hasOwnProperty(id)) {
|
||||
name = my.rider_names[id];
|
||||
|
||||
if (data.has_jo)
|
||||
my.putRiderActiveJOMarker(id, lat, lng, name);
|
||||
else
|
||||
my.putRiderAvailableMarker(id, lat, lng, name)
|
||||
|
||||
} else {
|
||||
getRiderName(id, my.options.rider_name_url, function(name) {
|
||||
my.rider_names[id] = name;
|
||||
|
||||
if (data.has_jo)
|
||||
my.putRiderActiveJOMarker(id, lat, lng, name);
|
||||
else
|
||||
my.putRiderAvailableMarker(id, lat, lng, name)
|
||||
});
|
||||
}
|
||||
if (data.has_jo)
|
||||
my.putRiderActiveJOMarker(id, lat, lng);
|
||||
else
|
||||
my.putRiderAvailableMarker(id, lat, lng);
|
||||
});
|
||||
|
||||
// console.log(rider_markers);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function getRiderName(id, url, callback) {
|
||||
var name = '';
|
||||
var rider_url = url.replace('[id]', id);
|
||||
getRiderName(id, callback) {
|
||||
var name = '';
|
||||
var rider_url = this.options.rider_name_url.replace('[id]', id);
|
||||
|
||||
$.ajax({
|
||||
method: "GET",
|
||||
url: rider_url
|
||||
}).done(function(response) {
|
||||
name = response.rider_name;
|
||||
callback(name);
|
||||
});
|
||||
var my = this;
|
||||
|
||||
console.log('getting rider name for rider ' + id);
|
||||
|
||||
// check if we have it in cache
|
||||
if (this.rider_names.hasOwnProperty(id)) {
|
||||
name = this.rider_names[id];
|
||||
callback(name);
|
||||
}
|
||||
|
||||
// ajax call to get it
|
||||
$.ajax({
|
||||
method: "GET",
|
||||
url: rider_url
|
||||
}).done(function(response) {
|
||||
name = response.rider_name;
|
||||
my.rider_names[id] = name;
|
||||
callback(name);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue