aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--web/app/store/MapTypes.js7
-rw-r--r--web/app/view/map/BaseMap.js9
-rw-r--r--web/l10n/en.json4
3 files changed, 16 insertions, 4 deletions
diff --git a/web/app/store/MapTypes.js b/web/app/store/MapTypes.js
index 3d322438..211cc81f 100644
--- a/web/app/store/MapTypes.js
+++ b/web/app/store/MapTypes.js
@@ -47,7 +47,10 @@ Ext.define('Traccar.store.MapTypes', {
key: 'wikimedia',
name: Strings.mapWikimedia
}, {
- key: 'custom',
- name: Strings.mapCustom
+ key: 'customXyzFormat',
+ name: Strings.mapCustomXyzFormat
+ }, {
+ key: 'customArcgisRest',
+ name: Strings.mapCustomArcgisRest
}]
});
diff --git a/web/app/view/map/BaseMap.js b/web/app/view/map/BaseMap.js
index 4f0c8d48..0b39ae33 100644
--- a/web/app/view/map/BaseMap.js
+++ b/web/app/view/map/BaseMap.js
@@ -38,7 +38,7 @@ Ext.define('Traccar.view.map.BaseMap', {
bingKey = server.get('bingKey');
switch (type) {
- case 'custom':
+ case 'customXyzFormat':
layer = new ol.layer.Tile({
source: new ol.source.XYZ({
url: Ext.String.htmlDecode(server.get('mapUrl')),
@@ -46,6 +46,13 @@ Ext.define('Traccar.view.map.BaseMap', {
})
});
break;
+ case 'customArcgisRest':
+ layer = new ol.layer.Tile({
+ source: new ol.source.TileArcGISRest({
+ url: Ext.String.htmlDecode(server.get('mapUrl'))
+ })
+ });
+ break;
case 'bingRoad':
layer = new ol.layer.Tile({
source: new ol.source.BingMaps({
diff --git a/web/l10n/en.json b/web/l10n/en.json
index 69f3fed3..07e76092 100644
--- a/web/l10n/en.json
+++ b/web/l10n/en.json
@@ -232,6 +232,8 @@
"mapTitle": "Map",
"mapLayer": "Map Layer",
"mapCustom": "Custom Map",
+ "mapCustomXyzFormat": "Custom (XYZ)",
+ "mapCustomArcgisRest": "Custom (ArcGIS REST)",
"mapCarto": "Carto Basemaps",
"mapOsm": "Open Street Map",
"mapBingKey": "Bing Maps Key",
@@ -427,4 +429,4 @@
"categoryScooter": "Scooter",
"maintenanceStart": "Start",
"maintenancePeriod": "Period"
-} \ No newline at end of file
+}