aboutsummaryrefslogtreecommitdiff
path: root/modern/src/map/core/mapUtil.js
diff options
context:
space:
mode:
authorAnton Tananaev <anton@traccar.org>2022-07-03 11:48:36 -0700
committerAnton Tananaev <anton@traccar.org>2022-07-03 11:48:36 -0700
commita78b32f7d59d51effe7f1419902637fe39a451b9 (patch)
tree2a1b2ac8ab40be9f90b5762f4b1be4e39eafdf63 /modern/src/map/core/mapUtil.js
parent0ed3111ec95e588f90e8d4f14472b651714444d9 (diff)
downloadtrackermap-web-a78b32f7d59d51effe7f1419902637fe39a451b9.tar.gz
trackermap-web-a78b32f7d59d51effe7f1419902637fe39a451b9.tar.bz2
trackermap-web-a78b32f7d59d51effe7f1419902637fe39a451b9.zip
Custom geofence colors (fix #967)
Diffstat (limited to 'modern/src/map/core/mapUtil.js')
-rw-r--r--modern/src/map/core/mapUtil.js19
1 files changed, 10 insertions, 9 deletions
diff --git a/modern/src/map/core/mapUtil.js b/modern/src/map/core/mapUtil.js
index 2aa86c68..087c499b 100644
--- a/modern/src/map/core/mapUtil.js
+++ b/modern/src/map/core/mapUtil.js
@@ -67,23 +67,24 @@ export const reverseCoordinates = (it) => {
};
};
-export const geofenceToFeature = (item) => {
+export const geofenceToFeature = (theme, item) => {
+ let geometry;
if (item.area.indexOf('CIRCLE') > -1) {
const coordinates = item.area.replace(/CIRCLE|\(|\)|,/g, ' ').trim().split(/ +/);
const options = { steps: 32, units: 'meters' };
const polygon = circle([Number(coordinates[1]), Number(coordinates[0])], Number(coordinates[2]), options);
- return {
- id: item.id,
- type: 'Feature',
- geometry: polygon.geometry,
- properties: { name: item.name },
- };
+ geometry = polygon.geometry;
+ } else {
+ geometry = reverseCoordinates(parse(item.area));
}
return {
id: item.id,
type: 'Feature',
- geometry: reverseCoordinates(parse(item.area)),
- properties: { name: item.name },
+ geometry,
+ properties: {
+ name: item.name,
+ color: item.attributes.color || theme.palette.colors.geometry,
+ },
};
};