120 lines
3.1 KiB
Twig
120 lines
3.1 KiB
Twig
{% extends 'base.html.twig' %}
|
|
|
|
{% block body %}
|
|
<!-- BEGIN: Subheader -->
|
|
<div class="m-subheader">
|
|
<div class="d-flex align-items-center">
|
|
<div class="mr-auto">
|
|
<h3 class="m-subheader__title">
|
|
Dashboard
|
|
</h3>
|
|
</div>
|
|
<div>
|
|
<span class="m-subheader__daterange" id="m_dashboard_daterangepicker">
|
|
<span class="m-subheader__daterange-label">
|
|
<span class="m-subheader__daterange-title"></span>
|
|
<span class="m-subheader__daterange-date m--font-brand"></span>
|
|
</span>
|
|
<a href="#" class="btn btn-sm btn-brand m-btn m-btn--icon m-btn--icon-only m-btn--custom m-btn--pill">
|
|
<i class="la la-angle-down"></i>
|
|
</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- END: Subheader -->
|
|
<div class="m-content">
|
|
<!--Begin::Section-->
|
|
<div class="row">
|
|
<div class="col-xl-12">
|
|
<div class="m-portlet m-portlet--mobile">
|
|
<div class="m-portlet__body">
|
|
<div class="form-group m-form__group row">
|
|
<div class="col-lg-12">
|
|
<div id="m_gmap" style="height:600px;"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!--End::Section-->
|
|
</div>
|
|
{% endblock %}
|
|
|
|
{% block scripts %}
|
|
<script src="//maps.googleapis.com/maps/api/js?key={{ gmaps_api_key }}" type="text/javascript"></script>
|
|
<script src="/assets/vendors/custom/gmaps/gmaps.js" type="text/javascript"></script>
|
|
|
|
<script>
|
|
// BEGIN google maps stuff
|
|
|
|
var map;
|
|
var markers = [];
|
|
|
|
initMap();
|
|
|
|
function initMap() {
|
|
map = new google.maps.Map(document.getElementById('m_gmap'),
|
|
{
|
|
center: {
|
|
lat: {% trans %}default_lat{% endtrans %},
|
|
lng: {% trans %}default_long{% endtrans %},
|
|
},
|
|
mapTypeId: 'roadmap',
|
|
zoom: 13
|
|
});
|
|
|
|
displayMarkers();
|
|
}
|
|
|
|
function addMarker(location) {
|
|
var marker = new google.maps.Marker({
|
|
position: location,
|
|
map: map
|
|
});
|
|
|
|
markers.push(marker);
|
|
}
|
|
|
|
function clearMarkers() {
|
|
setMapOnAll(null);
|
|
markers = [];
|
|
}
|
|
|
|
function setMapOnAll(map) {
|
|
for (var i = 0; i < markers.length; i++) {
|
|
markers[i].setMap(map);
|
|
}
|
|
}
|
|
|
|
function displayMarkers() {
|
|
$.ajax({
|
|
url: '{{ path('rider_locations') }}',
|
|
}).done(function(response) {
|
|
// clear all markers
|
|
clearMarkers();
|
|
|
|
// get riders and mark
|
|
var riders = response.riders;
|
|
|
|
$.each(riders, function(rider_id, point) {
|
|
var lat = point[0];
|
|
var long = point[1];
|
|
|
|
var location = {
|
|
lat: lat,
|
|
lng: long
|
|
};
|
|
|
|
addMarker(location);
|
|
});
|
|
});
|
|
}
|
|
|
|
setInterval(displayMarkers, 60 * 1000);
|
|
|
|
// END google maps stuff
|
|
</script>
|
|
|
|
{% endblock %}
|