Add riders to one step job order map. #270
This commit is contained in:
parent
a92c8c90f0
commit
35f0d9c7be
2 changed files with 23 additions and 2 deletions
|
|
@ -18,6 +18,7 @@ use DateTime;
|
||||||
use Catalyst\MenuBundle\Annotation\Menu;
|
use Catalyst\MenuBundle\Annotation\Menu;
|
||||||
|
|
||||||
use App\Service\MapTools;
|
use App\Service\MapTools;
|
||||||
|
use App\Service\RiderTracker;
|
||||||
|
|
||||||
class HubController extends Controller
|
class HubController extends Controller
|
||||||
{
|
{
|
||||||
|
|
@ -321,7 +322,7 @@ class HubController extends Controller
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getHubRiders(Request $req)
|
public function getHubRiders(Request $req, RiderTracker $rider_tracker)
|
||||||
{
|
{
|
||||||
// get hub id
|
// get hub id
|
||||||
$hub_id = $req->query->get('id');
|
$hub_id = $req->query->get('id');
|
||||||
|
|
@ -348,12 +349,20 @@ class HubController extends Controller
|
||||||
if ($num_riders > $riders_limit)
|
if ($num_riders > $riders_limit)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
// get location for each rider
|
||||||
|
$rider_id = $rider->getID();
|
||||||
|
$coordinates = $rider_tracker->getRiderLocation($rider_id);
|
||||||
|
|
||||||
|
$lat = $coordinates->getLatitude();
|
||||||
|
$long = $coordinates->getLongitude();
|
||||||
|
|
||||||
$riders[] = [
|
$riders[] = [
|
||||||
'id' => $rider->getID(),
|
'id' => $rider->getID(),
|
||||||
'first_name' => $rider->getFirstName(),
|
'first_name' => $rider->getFirstName(),
|
||||||
'last_name' => $rider->getLastName(),
|
'last_name' => $rider->getLastName(),
|
||||||
'contact_num' => $rider->getContactNumber(),
|
'contact_num' => $rider->getContactNumber(),
|
||||||
'plate_num' => $rider->getPlateNumber(),
|
'plate_num' => $rider->getPlateNumber(),
|
||||||
|
'location' => [$lat, $long],
|
||||||
];
|
];
|
||||||
|
|
||||||
$num_riders++;
|
$num_riders++;
|
||||||
|
|
|
||||||
|
|
@ -584,6 +584,7 @@ $(function() {
|
||||||
|
|
||||||
var markerLayerGroup = L.layerGroup().addTo(osm_map);
|
var markerLayerGroup = L.layerGroup().addTo(osm_map);
|
||||||
var hubLayerGroup = L.layerGroup().addTo(osm_map);
|
var hubLayerGroup = L.layerGroup().addTo(osm_map);
|
||||||
|
var riderLayerGroup = L.layerGroup().addTo(osm_map);
|
||||||
|
|
||||||
var icon_customer = L.divIcon({
|
var icon_customer = L.divIcon({
|
||||||
className: 'map-div-icon',
|
className: 'map-div-icon',
|
||||||
|
|
@ -597,7 +598,12 @@ $(function() {
|
||||||
iconSize: [39, 42],
|
iconSize: [39, 42],
|
||||||
iconAnchor: [15, 42]
|
iconAnchor: [15, 42]
|
||||||
});
|
});
|
||||||
|
var icon_rider_available = L.divIcon({
|
||||||
|
className: 'map-div-icon',
|
||||||
|
html: "<div style='background-color:#00FF00;' class='marker-pin'></div><i class='fa fa-bolt awesome'>",
|
||||||
|
iconSize: [39, 42],
|
||||||
|
iconAnchor: [15, 42]
|
||||||
|
});
|
||||||
|
|
||||||
function selectPoint(lat, lng)
|
function selectPoint(lat, lng)
|
||||||
{
|
{
|
||||||
|
|
@ -694,6 +700,8 @@ $(function() {
|
||||||
$('#hubs-table').on('click', 'tr', function() {
|
$('#hubs-table').on('click', 'tr', function() {
|
||||||
var id = $(this).data('id');
|
var id = $(this).data('id');
|
||||||
|
|
||||||
|
riderLayerGroup.clearLayers();
|
||||||
|
|
||||||
if (id != selected_hub) {
|
if (id != selected_hub) {
|
||||||
|
|
||||||
// highlight this row
|
// highlight this row
|
||||||
|
|
@ -713,6 +721,10 @@ $(function() {
|
||||||
var riders = data['riders'];
|
var riders = data['riders'];
|
||||||
for (i in riders) {
|
for (i in riders) {
|
||||||
var rider = riders[i];
|
var rider = riders[i];
|
||||||
|
var rider_lat = rider['location'][0];
|
||||||
|
var rider_lng = rider['location'][1];
|
||||||
|
var rider_marker = L.marker([rider_lat, rider_lng], { icon: icon_rider_available });
|
||||||
|
riderLayerGroup.addLayer(rider_marker);
|
||||||
|
|
||||||
rider_table += '<tr data-id=' + rider['id'] + '>';
|
rider_table += '<tr data-id=' + rider['id'] + '>';
|
||||||
rider_table += '<td>' + rider['first_name'] + '</td>';
|
rider_table += '<td>' + rider['first_name'] + '</td>';
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue