File: //var/www/html/punjabcabs/storage/framework/views/6f0ff7f9641a875d65dc173ea2d0cd9d506724b7.php
<?php $__env->startSection('title', 'Map View '); ?>
<?php $__env->startSection('content'); ?>
<div class="content-area py-1">
<div class="container-fluid">
<div class="row bg-title">
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-12">
<h4 class="page-title"><?php echo app('translator')->get('admin.member.map_view'); ?></h4>
</div>
<div class="col-lg-6 col-sm-6 col-md-6 col-xs-12">
<ol class="breadcrumb">
<li><a href="<?php echo e(route('admin.dashboard')); ?>"><?php echo app('translator')->get('admin.dashboard'); ?></a></li>
<li class="active"><?php echo app('translator')->get('admin.member.map_view'); ?></li>
</ol>
</div>
</div>
<div class="box box-block bg-white">
<div class="row">
<div class="col-xs-12">
<div id="map"></div>
<div id="legend"><h3><?php echo app('translator')->get('admin.member.note'); ?>: </h3></div>
</div>
</div>
</div>
</div>
</div>
<?php $__env->stopSection(); ?>
<?php $__env->startSection('styles'); ?>
<style type="text/css">
#map {
height: 100%;
min-height: 500px;
}
#legend {
font-family: Arial, sans-serif;
background: rgba(255,255,255,0.8);
padding: 10px;
margin: 10px;
border: 2px solid #f3f3f3;
}
#legend h3 {
margin-top: 0;
font-size: 16px;
font-weight: bold;
text-align: center;
}
#legend img {
vertical-align: middle;
margin-bottom: 5px;
}
</style>
<?php $__env->stopSection(); ?>
<?php $__env->startSection('scripts'); ?>
<script>
var map;
var users;
var providers;
var ajaxMarkers = [];
var googleMarkers = [];
var mapIcons = {
user: '<?php echo e(asset("asset/img/marker-user.png")); ?>',
active: '<?php echo e(asset("asset/img/marker-car.png")); ?>',
riding: '<?php echo e(asset("asset/img/marker-car.png")); ?>',
offline: '<?php echo e(asset("asset/img/marker-home.png")); ?>',
unactivated: '<?php echo e(asset("asset/img/marker-plus.png")); ?>'
}
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 0, lng: 0},
zoom: 2,
minZoom: 1
});
setInterval(ajaxMapData, 3000);
var legend = document.getElementById('legend');
var div = document.createElement('div');
div.innerHTML = '<img src="' + mapIcons['user'] + '"> ' + '<?php echo app('translator')->get("admin.user"); ?>';
legend.appendChild(div);
var div = document.createElement('div');
div.innerHTML = '<img src="' + mapIcons['offline'] + '"> ' + '<?php echo app('translator')->get("admin.unavailable_driver"); ?>';
legend.appendChild(div);
var div = document.createElement('div');
div.innerHTML = '<img src="' + mapIcons['active'] + '"> ' + '<?php echo app('translator')->get("admin.available_driver"); ?>';
legend.appendChild(div);
var div = document.createElement('div');
div.innerHTML = '<img src="' + mapIcons['unactivated'] + '"> ' + '<?php echo app('translator')->get("admin.unactivated_driver"); ?>';
legend.appendChild(div);
map.controls[google.maps.ControlPosition.RIGHT_BOTTOM].push(legend);
google.maps.Map.prototype.clearOverlays = function() {
for (var i = 0; i < googleMarkers.length; i++ ) {
googleMarkers[i].setMap(null);
}
googleMarkers.length = 0;
}
}
function ajaxMapData() {
map.clearOverlays();
$.ajax({
url: '/admin/map/ajax',
dataType: "JSON",
headers: {'X-CSRF-TOKEN': window.Laravel.csrfToken },
type: "GET",
success: function(data) {
console.log('Ajax Response', data);
ajaxMarkers = data;
}
});
ajaxMarkers ? ajaxMarkers.forEach(addMarkerToMap) : '';
}
function addMarkerToMap(element, index) {
var lat = parseFloat(element.latitude);
var lng = parseFloat(element.longitude);
marker = new google.maps.Marker({
position: {
lat: lat,
lng: lng
},
id: element.id,
map: map,
title: element.first_name + " " +element.last_name,
icon : mapIcons[element.service ? element.service.status : element.status],
});
googleMarkers.push(marker);
google.maps.event.addListener(marker, 'click', function() {
window.location.href = '/admin/' + element.service ? 'provider' : 'user' + '/' +element.user_id;
});
}
</script>
<script src="//maps.googleapis.com/maps/api/js?key=<?php echo e(env('GOOGLE_MAP_KEY')); ?>&libraries=places&callback=initMap" async defer></script>
<?php $__env->stopSection(); ?>
<?php echo $__env->make('admin.layout.base', array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>