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) {
|
putRiderAvailableMarker(id, lat, lng) {
|
||||||
this.putMarkerWithLabel(
|
var my = this;
|
||||||
|
|
||||||
|
my.getRiderName(id, function(name) {
|
||||||
|
my.putMarkerWithLabel(
|
||||||
id,
|
id,
|
||||||
lat,
|
lat,
|
||||||
lng,
|
lng,
|
||||||
this.rider_markers,
|
my.rider_markers,
|
||||||
this.options.icons.rider_available,
|
my.options.icons.rider_available,
|
||||||
this.layer_groups.rider_available,
|
my.layer_groups.rider_available,
|
||||||
this.options.rider_popup_url,
|
my.options.rider_popup_url,
|
||||||
name
|
name
|
||||||
);
|
);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
putRiderActiveJOMarker(id, lat, lng, name) {
|
putRiderActiveJOMarker(id, lat, lng) {
|
||||||
this.putMarkerWithLabel(
|
var my = this;
|
||||||
|
|
||||||
|
my.getRiderName(id, function(name) {
|
||||||
|
my.putMarkerWithLabel(
|
||||||
id,
|
id,
|
||||||
lat,
|
lat,
|
||||||
lng,
|
lng,
|
||||||
this.rider_markers,
|
my.rider_markers,
|
||||||
this.options.icons.rider_active_jo,
|
my.options.icons.rider_active_jo,
|
||||||
this.layer_groups.rider_active_jo,
|
my.layer_groups.rider_active_jo,
|
||||||
this.options.rider_popup_url,
|
my.options.rider_popup_url,
|
||||||
name
|
name
|
||||||
);
|
);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
removeRiderMarker(id) {
|
removeRiderMarker(id) {
|
||||||
|
|
@ -305,41 +313,38 @@ class DashboardMap {
|
||||||
var lng = data.longitude;
|
var lng = data.longitude;
|
||||||
var name = '';
|
var name = '';
|
||||||
|
|
||||||
if (my.rider_names.hasOwnProperty(id)) {
|
|
||||||
name = my.rider_names[id];
|
|
||||||
|
|
||||||
if (data.has_jo)
|
if (data.has_jo)
|
||||||
my.putRiderActiveJOMarker(id, lat, lng, name);
|
my.putRiderActiveJOMarker(id, lat, lng);
|
||||||
else
|
else
|
||||||
my.putRiderAvailableMarker(id, lat, lng, name)
|
my.putRiderAvailableMarker(id, lat, lng);
|
||||||
|
|
||||||
} 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)
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// console.log(rider_markers);
|
// console.log(rider_markers);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
function getRiderName(id, url, callback) {
|
getRiderName(id, callback) {
|
||||||
var name = '';
|
var name = '';
|
||||||
var rider_url = url.replace('[id]', id);
|
var rider_url = this.options.rider_name_url.replace('[id]', id);
|
||||||
|
|
||||||
|
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({
|
$.ajax({
|
||||||
method: "GET",
|
method: "GET",
|
||||||
url: rider_url
|
url: rider_url
|
||||||
}).done(function(response) {
|
}).done(function(response) {
|
||||||
name = response.rider_name;
|
name = response.rider_name;
|
||||||
|
my.rider_names[id] = name;
|
||||||
callback(name);
|
callback(name);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue