aboutsummaryrefslogtreecommitdiff
path: root/web/app/view
diff options
context:
space:
mode:
Diffstat (limited to 'web/app/view')
-rw-r--r--web/app/view/ReportController.js4
-rw-r--r--web/app/view/map/BaseMap.js88
-rw-r--r--web/app/view/permissions/BaseController.js4
3 files changed, 84 insertions, 12 deletions
diff --git a/web/app/view/ReportController.js b/web/app/view/ReportController.js
index e8955a8c..d83d9986 100644
--- a/web/app/view/ReportController.js
+++ b/web/app/view/ReportController.js
@@ -463,6 +463,10 @@ Ext.define('Traccar.view.ReportController', {
text: Strings.reportEngineHours,
dataIndex: 'engineHours',
renderer: Traccar.AttributeFormatter.getFormatter('hours')
+ }, {
+ text: Strings.reportSpentFuel,
+ dataIndex: 'spentFuel',
+ renderer: Traccar.AttributeFormatter.getFormatter('spentFuel')
}],
tripsColumns: [{
diff --git a/web/app/view/map/BaseMap.js b/web/app/view/map/BaseMap.js
index ac3b2694..c4297f68 100644
--- a/web/app/view/map/BaseMap.js
+++ b/web/app/view/map/BaseMap.js
@@ -62,29 +62,91 @@ Ext.define('Traccar.view.map.BaseMap', {
imagerySet: 'Aerial'
})
});
- } else if (type === 'osm') {
+ } else if (type === 'bingHybrid') {
layer = new ol.layer.Tile({
- source: new ol.source.OSM({})
+ source: new ol.source.BingMaps({
+ key: bingKey,
+ imagerySet: 'AerialWithLabels'
+ })
});
- } else {
+ } else if (type === 'carto') {
layer = new ol.layer.Tile({
source: new ol.source.XYZ({
- urls: [
- 'https://cartodb-basemaps-a.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png',
- 'https://cartodb-basemaps-b.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png',
- 'https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png',
- 'https://cartodb-basemaps-d.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png'
- ],
+ url: 'https://cartodb-basemaps-{a-d}.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png',
attributions: [
new ol.Attribution({
html: [
'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> ' +
- 'contributors, &copy; <a href="https://carto.com/attributions">CARTO</a>'
+ 'contributors, &copy; <a href="https://carto.com/attributions">CARTO</a>'
]
})
]
})
});
+ } else if (type === 'baidu') {
+ layer = new ol.layer.Tile({
+ source: new ol.source.XYZ({
+ projection: 'BD-MC',
+ tileUrlFunction: function (tileCoord) {
+ var urlsLength = 5, z = tileCoord[0], x = tileCoord[1], y = tileCoord[2], hash, index;
+
+ hash = (x << z) + y;
+ index = hash % urlsLength;
+ index = index < 0 ? index + urlsLength : index;
+
+ if (x < 0) {
+ x = 'M' + (-x);
+ }
+ if (y < 0) {
+ y = 'M' + (-y);
+ }
+ return 'http://online{}.map.bdimg.com/onlinelabel/?qt=tile&x={x}&y={y}&z={z}&styles=pl'
+ .replace('{}', index).replace('{x}', x).replace('{y}', y).replace('{z}', z);
+ },
+ tileGrid: new ol.tilegrid.TileGrid({
+ extent: ol.proj.transformExtent([-180, -74, 180, 74], 'EPSG:4326', 'BD-MC'),
+ origin: [0, 0],
+ minZoom: 3,
+ resolutions: [
+ 262144, 131072, 65536, 32768, 16384, 8192, 4096, 2048,
+ 1024, 512, 256, 128, 64, 32, 16, 8, 4, 2, 1, 0.5
+ ]
+ }),
+ attributions: [
+ new ol.Attribution({
+ html: '&copy; <a href="http://map.baidu.com/">Baidu</a>'
+ })
+ ]
+ })
+ });
+ } else if (type === 'yandexMap') {
+ layer = new ol.layer.Tile({
+ source: new ol.source.XYZ({
+ url: 'https://vec0{1-4}.maps.yandex.net/tiles?l=map&x={x}&y={y}&z={z}',
+ projection: 'EPSG:3395',
+ attributions: [
+ new ol.Attribution({
+ html: '&copy; <a href="https://yandex.com/maps/">Yandex</a>'
+ })
+ ]
+ })
+ });
+ } else if (type === 'yandexSat') {
+ layer = new ol.layer.Tile({
+ source: new ol.source.XYZ({
+ url: 'https://sat0{1-4}.maps.yandex.net/tiles?l=sat&x={x}&y={y}&z={z}',
+ projection: 'EPSG:3395',
+ attributions: [
+ new ol.Attribution({
+ html: '&copy; <a href="https://yandex.com/maps/">Yandex</a>'
+ })
+ ]
+ })
+ });
+ } else {
+ layer = new ol.layer.Tile({
+ source: new ol.source.OSM({})
+ });
}
lat = Traccar.app.getPreference('latitude', Traccar.Style.mapDefaultLat);
@@ -143,4 +205,10 @@ Ext.define('Traccar.view.map.BaseMap', {
this.map.updateSize();
}
}
+}, function () {
+
+ proj4.defs('BD-MC', '+proj=merc +lon_0=0 +units=m +ellps=clrk66 +no_defs');
+ proj4.defs('EPSG:3395', '+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs');
+ ol.proj.get('EPSG:3395').setExtent([-20037508.342789244, -20037508.342789244, 20037508.342789244, 20037508.342789244]);
+
});
diff --git a/web/app/view/permissions/BaseController.js b/web/app/view/permissions/BaseController.js
index dc4d6ef2..8a85a5e2 100644
--- a/web/app/view/permissions/BaseController.js
+++ b/web/app/view/permissions/BaseController.js
@@ -57,7 +57,7 @@ Ext.define('Traccar.view.permissions.BaseController', {
jsonData: Ext.util.JSON.encode(data),
callback: function (options, success, response) {
if (!success) {
- selection.deselect(record);
+ selection.deselect(record, true);
Traccar.app.showError(response);
}
}
@@ -75,7 +75,7 @@ Ext.define('Traccar.view.permissions.BaseController', {
jsonData: Ext.util.JSON.encode(data),
callback: function (options, success, response) {
if (!success) {
- selection.select(record);
+ selection.select(record, true, true);
Traccar.app.showError(response);
}
}