diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2021-06-27 16:25:20 -0700 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2021-06-27 16:25:20 -0700 |
commit | 271740034791dc7137325d5b5352217c3bc987f3 (patch) | |
tree | d29fd7391fce597d59be5bd699b6d4b61b33bdaf /modern/src/map/mapUtil.js | |
parent | 26916278758cd5e4abb16aa31e31099e066ea8d5 (diff) | |
download | etbsa-traccar-web-271740034791dc7137325d5b5352217c3bc987f3.tar.gz etbsa-traccar-web-271740034791dc7137325d5b5352217c3bc987f3.tar.bz2 etbsa-traccar-web-271740034791dc7137325d5b5352217c3bc987f3.zip |
Initial geofence draw implementation
Diffstat (limited to 'modern/src/map/mapUtil.js')
-rw-r--r-- | modern/src/map/mapUtil.js | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/modern/src/map/mapUtil.js b/modern/src/map/mapUtil.js index ef6ff99..67ce345 100644 --- a/modern/src/map/mapUtil.js +++ b/modern/src/map/mapUtil.js @@ -1,4 +1,4 @@ -import wellknown from 'wellknown'; +import { parse, stringify } from 'wellknown'; import canvasTintImage from 'canvas-tint-image'; import circle from '@turf/circle'; @@ -54,18 +54,22 @@ export const geofenceToFeature = (item) => { let coordinates = item.area.replace(/CIRCLE|\(|\)|,/g, " ").trim().split(/ +/); var options = { steps: 32, units: 'meters' }; let polygon = circle([Number(coordinates[1]), Number(coordinates[0])], Number(coordinates[2]), options); - return { + return { + id: item.id, type: 'Feature', geometry: polygon.geometry, properties: { name: item.name } }; } else { return { + id: item.id, type: 'Feature', - geometry: reverseCoordinates(wellknown(item.area)), + geometry: reverseCoordinates(parse(item.area)), properties: { name: item.name } }; } } - +export const geometryToArea = (geometry) => { + return stringify(reverseCoordinates(geometry)); +} |