diff options
author | Ashutosh Bishnoi <mail2bishnoi@gmail.com> | 2020-11-10 13:02:20 +0530 |
---|---|---|
committer | Ashutosh Bishnoi <mail2bishnoi@gmail.com> | 2020-11-10 13:02:20 +0530 |
commit | a948981184f4f2884b7a35b67b2389ddcd1f52a8 (patch) | |
tree | 9187834b5246734da8549735f64d2e5546c60e1e /web/app/view/map/GeofenceMapController.js | |
parent | 5a116350b3e402ef123a75451737c268a9ebddff (diff) | |
parent | 1af1545dc7ba3cfdf73a58031b37bea0ecff2e54 (diff) | |
download | etbsa-traccar-web-a948981184f4f2884b7a35b67b2389ddcd1f52a8.tar.gz etbsa-traccar-web-a948981184f4f2884b7a35b67b2389ddcd1f52a8.tar.bz2 etbsa-traccar-web-a948981184f4f2884b7a35b67b2389ddcd1f52a8.zip |
Resolving conflicts with master
Diffstat (limited to 'web/app/view/map/GeofenceMapController.js')
-rw-r--r-- | web/app/view/map/GeofenceMapController.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/web/app/view/map/GeofenceMapController.js b/web/app/view/map/GeofenceMapController.js index f075ac9..31ab586 100644 --- a/web/app/view/map/GeofenceMapController.js +++ b/web/app/view/map/GeofenceMapController.js @@ -33,6 +33,32 @@ Ext.define('Traccar.view.map.GeofenceMapController', { } }, + onFileChange: function (fileField) { + var reader, view = this.getView(); + if (fileField.fileInputEl.dom.files.length > 0) { + reader = new FileReader(); + reader.onload = function () { + var parser, xml, segment, projection, points = []; + parser = new DOMParser(); + xml = parser.parseFromString(reader.result, 'text/xml'); + segment = xml.getElementsByTagName('trkseg')[0]; + projection = view.mapView.getProjection(); + Array.from(segment.getElementsByTagName('trkpt')).forEach(function (point) { + var lat, lon; + lat = Number(point.getAttribute('lat')); + lon = Number(point.getAttribute('lon')); + points.push(ol.proj.transform([lon, lat], 'EPSG:4326', projection)); + }); + view.getFeatures().clear(); + view.getFeatures().push(new ol.Feature(new ol.geom.LineString(points))); + }; + reader.onerror = function (event) { + Traccar.app.showError(event.target.error); + }; + reader.readAsText(fileField.fileInputEl.dom.files[0]); + } + }, + onSaveClick: function (button) { var geometry, projection; if (this.getView().getFeatures().getLength() > 0) { |