mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Adding focus on geo map
This commit is contained in:
parent
10c8bf7f42
commit
68d9b2d310
@ -692,6 +692,7 @@
|
|||||||
{{js "js/leaflet/leaflet.js" }}
|
{{js "js/leaflet/leaflet.js" }}
|
||||||
{{js "js/leaflet/leaflet.markercluster.js" }}
|
{{js "js/leaflet/leaflet.markercluster.js" }}
|
||||||
{{js "js/leaflet/L.Control.Locate.js" }}
|
{{js "js/leaflet/L.Control.Locate.js" }}
|
||||||
|
{{js "js/leaflet/L.Control.Focus.js" }}
|
||||||
{{js "js/leaflet/leaflet.groupedlayercontrol.js" }}
|
{{js "js/leaflet/leaflet.groupedlayercontrol.js" }}
|
||||||
{{js "js/leaflet/Leaflet.fullscreen.min.js" }}
|
{{js "js/leaflet/Leaflet.fullscreen.min.js" }}
|
||||||
{{js "js/leaflet/Marker.Rotate.js" }}
|
{{js "js/leaflet/Marker.Rotate.js" }}
|
||||||
|
|||||||
@ -107,7 +107,7 @@ function initializeMap() {
|
|||||||
});
|
});
|
||||||
L.tileLayer(tileSet, {attribution: attribution}).addTo(map);
|
L.tileLayer(tileSet, {attribution: attribution}).addTo(map);
|
||||||
|
|
||||||
map.zoomControl.setPosition('bottomleft');
|
map.zoomControl.setPosition('bottomright');
|
||||||
map.on('click', function (e) {
|
map.on('click', function (e) {
|
||||||
$.noty.closeAll();
|
$.noty.closeAll();
|
||||||
});
|
});
|
||||||
@ -163,13 +163,13 @@ function processAfterInitializationMap() {
|
|||||||
return div;
|
return div;
|
||||||
};
|
};
|
||||||
// map.addControl(attributionControl);
|
// map.addControl(attributionControl);
|
||||||
|
map.addControl(L.control.fullscreen({position: 'bottomright'}));
|
||||||
//L.control.fullscreen({
|
//L.control.fullscreen({
|
||||||
// position: 'bottomright'
|
// position: 'bottomright'
|
||||||
//}).addTo(map);
|
//}).addTo(map);
|
||||||
L.control.zoom({
|
// L.control.zoom({
|
||||||
position: "bottomright"
|
// position: "bottomright"
|
||||||
}).addTo(map);
|
// }).addTo(map);
|
||||||
|
|
||||||
groupedOverlays = {
|
groupedOverlays = {
|
||||||
"Web Map Service layers": {}
|
"Web Map Service layers": {}
|
||||||
@ -312,6 +312,7 @@ function focusOnSpatialObject(objectId) {
|
|||||||
createChart();
|
createChart();
|
||||||
chart.load({columns: [spatialObject.speedHistory.getArray()]});
|
chart.load({columns: [spatialObject.speedHistory.getArray()]});
|
||||||
}, 100);
|
}, 100);
|
||||||
|
map.addControl(L.control.focus({position: 'bottomright', marker: spatialObject.marker, zoomLevel: zoomLevel}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -402,10 +403,20 @@ function enableRealTime() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function InitSpatialObject() {
|
function InitSpatialObject() {
|
||||||
|
var spatialObject = drawSpatialObject();
|
||||||
|
map.addControl(L.control.focus({position: 'bottomright', marker: spatialObject.marker, zoomLevel: zoomLevel}));
|
||||||
|
}
|
||||||
|
|
||||||
|
function focusOnRecentHistorySpatialObject(objectId) {
|
||||||
|
drawSpatialObject();
|
||||||
|
noty({text: "Showing last two hours geo history", type: "information"});
|
||||||
|
}
|
||||||
|
|
||||||
|
function drawSpatialObject() {
|
||||||
var fromDate = new Date();
|
var fromDate = new Date();
|
||||||
fromDate.setHours(fromDate.getHours() - 2);
|
fromDate.setHours(fromDate.getHours() - 2);
|
||||||
var toDate = new Date();
|
var toDate = new Date();
|
||||||
console.log(fromDate + " " + toDate);
|
//console.log(fromDate.valueOf() + " " + toDate.valueOf());
|
||||||
var tableData = getProviderData(fromDate.valueOf(), toDate.valueOf());
|
var tableData = getProviderData(fromDate.valueOf(), toDate.valueOf());
|
||||||
for (var i = 0; i < tableData.length; i++) {
|
for (var i = 0; i < tableData.length; i++) {
|
||||||
var data = tableData[i];
|
var data = tableData[i];
|
||||||
@ -456,8 +467,10 @@ function InitSpatialObject() {
|
|||||||
createChart();
|
createChart();
|
||||||
chart.load({columns: [spatialObject.speedHistory.getArray()]});
|
chart.load({columns: [spatialObject.speedHistory.getArray()]});
|
||||||
}, 100);
|
}, 100);
|
||||||
|
return spatialObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function focusOnHistorySpatialObject(objectId, timeFrom, timeTo) {
|
function focusOnHistorySpatialObject(objectId, timeFrom, timeTo) {
|
||||||
if (!timeFrom) {
|
if (!timeFrom) {
|
||||||
notifyError('No start time provided to show history. Please provide a suitable value' + timeFrom);
|
notifyError('No start time provided to show history. Please provide a suitable value' + timeFrom);
|
||||||
@ -471,6 +484,7 @@ function focusOnHistorySpatialObject(objectId, timeFrom, timeTo) {
|
|||||||
clearMap();
|
clearMap();
|
||||||
var fromDate = new Date(timeFrom);
|
var fromDate = new Date(timeFrom);
|
||||||
var toDate = new Date(timeTo);
|
var toDate = new Date(timeTo);
|
||||||
|
//console.log(fromDate.valueOf() + " " + toDate.valueOf());
|
||||||
var tableData = getProviderData(fromDate.valueOf(), toDate.valueOf());
|
var tableData = getProviderData(fromDate.valueOf(), toDate.valueOf());
|
||||||
for (var i = 0; i < tableData.length; i++) {
|
for (var i = 0; i < tableData.length; i++) {
|
||||||
var data = tableData[i];
|
var data = tableData[i];
|
||||||
|
|||||||
@ -0,0 +1,90 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
|
*
|
||||||
|
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||||
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
|
* in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
L.Control.Focus = L.Control.extend({
|
||||||
|
options: {
|
||||||
|
position: 'topleft',
|
||||||
|
icon: 'icon-location', // icon-location or icon-direction
|
||||||
|
iconLoading: 'icon-spinner animate-spin',
|
||||||
|
strings: {
|
||||||
|
title: "Show the device"
|
||||||
|
},
|
||||||
|
marker: {},
|
||||||
|
zoomLevel: 13
|
||||||
|
},
|
||||||
|
|
||||||
|
onAdd: function (map) {
|
||||||
|
var self = this;
|
||||||
|
var container = L.DomUtil.create('div',
|
||||||
|
'leaflet-control-locate leaflet-bar leaflet-control');
|
||||||
|
|
||||||
|
var link = L.DomUtil.create('a', 'leaflet-bar-part leaflet-bar-part-single ' + this.options.icon, container);
|
||||||
|
link.href = '#';
|
||||||
|
link.title = this.options.strings.title;
|
||||||
|
|
||||||
|
L.DomEvent
|
||||||
|
.on(link, 'click', L.DomEvent.stopPropagation)
|
||||||
|
.on(link, 'click', L.DomEvent.preventDefault)
|
||||||
|
.on(link, 'click', function () {
|
||||||
|
focus();
|
||||||
|
})
|
||||||
|
.on(link, 'dblclick', L.DomEvent.stopPropagation);
|
||||||
|
|
||||||
|
var focus = function () {
|
||||||
|
visualizeLocation();
|
||||||
|
};
|
||||||
|
|
||||||
|
var visualizeLocation = function () {
|
||||||
|
// self.options.latlng
|
||||||
|
map.setView(self.options.marker.getLatLng(), self.options.marker.zoomLevel, {animate: true});
|
||||||
|
self.options.marker.openPopup();
|
||||||
|
};
|
||||||
|
|
||||||
|
// make focus functions available to outside world
|
||||||
|
this.focus = focus;
|
||||||
|
return container;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
L.Map.addInitHook(function () {
|
||||||
|
if (this.options.focusControl) {
|
||||||
|
this.focusControl = L.control.focus();
|
||||||
|
this.addControl(this.focusControl);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
L.control.focus = function (options) {
|
||||||
|
return new L.Control.Focus(options);
|
||||||
|
};
|
||||||
|
|
||||||
|
(function () {
|
||||||
|
// leaflet.js raises bug when trying to addClass / removeClass multiple classes at once
|
||||||
|
// Let's create a wrapper on it which fixes it.
|
||||||
|
var LDomUtilApplyClassesMethod = function (method, element, classNames) {
|
||||||
|
classNames = classNames.split(' ');
|
||||||
|
classNames.forEach(function (className) {
|
||||||
|
L.DomUtil[method].call(this, element, className);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
L.DomUtil.addClasses = function (el, names) {
|
||||||
|
LDomUtilApplyClassesMethod('addClass', el, names);
|
||||||
|
};
|
||||||
|
L.DomUtil.removeClasses = function (el, names) {
|
||||||
|
LDomUtilApplyClassesMethod('removeClass', el, names);
|
||||||
|
};
|
||||||
|
})();
|
||||||
Loading…
Reference in New Issue
Block a user