aboutsummaryrefslogtreecommitdiff
path: root/web
diff options
context:
space:
mode:
Diffstat (limited to 'web')
-rw-r--r--web/app/view/DevicesController.js8
-rw-r--r--web/app/view/MapMarkerController.js9
2 files changed, 14 insertions, 3 deletions
diff --git a/web/app/view/DevicesController.js b/web/app/view/DevicesController.js
index e856731c..cd858341 100644
--- a/web/app/view/DevicesController.js
+++ b/web/app/view/DevicesController.js
@@ -32,11 +32,11 @@ Ext.define('Traccar.view.DevicesController', {
listen: {
controller: {
'*': {
- selectreport: 'selectReport',
- deselectfeature: 'deselectFeature'
+ selectreport: 'selectReport'
},
'map': {
- selectdevice: 'selectDevice'
+ selectdevice: 'selectDevice',
+ deselectfeature: 'deselectFeature'
}
},
store: {
@@ -101,6 +101,8 @@ Ext.define('Traccar.view.DevicesController', {
this.updateButtons(selected);
if (selected.getCount() > 0) {
this.fireEvent('selectdevice', selected.getLastSelected(), true);
+ } else {
+ this.fireEvent('deselectfeature');
}
},
diff --git a/web/app/view/MapMarkerController.js b/web/app/view/MapMarkerController.js
index 5e1861c4..39517553 100644
--- a/web/app/view/MapMarkerController.js
+++ b/web/app/view/MapMarkerController.js
@@ -149,6 +149,15 @@ Ext.define('Traccar.view.MapMarkerController', {
deviceId = data[i].get('id');
if (this.latestMarkers[deviceId]) {
this.getView().getMarkersSource().removeFeature(this.latestMarkers[deviceId]);
+ delete this.latestMarkers[deviceId];
+ }
+ if (this.accuracyCircles[deviceId]) {
+ this.getView().getAccuracySource().removeFeature(this.accuracyCircles[deviceId]);
+ delete this.accuracyCircles[deviceId];
+ }
+ if (this.liveRoutes[deviceId]) {
+ this.getView().getLiveRouteSource().removeFeature(this.liveRoutes[deviceId]);
+ delete this.liveRoutes[deviceId];
}
}
},