aboutsummaryrefslogtreecommitdiff
path: root/modern/src/map
diff options
context:
space:
mode:
Diffstat (limited to 'modern/src/map')
-rw-r--r--modern/src/map/main/MapLiveRoutes.js5
-rw-r--r--modern/src/map/main/MapSelectedDevice.js5
2 files changed, 8 insertions, 2 deletions
diff --git a/modern/src/map/main/MapLiveRoutes.js b/modern/src/map/main/MapLiveRoutes.js
index fc1a1dde..e98bea74 100644
--- a/modern/src/map/main/MapLiveRoutes.js
+++ b/modern/src/map/main/MapLiveRoutes.js
@@ -4,12 +4,15 @@ import { useSelector } from 'react-redux';
import { useTheme } from '@mui/styles';
import { map } from '../core/MapView';
import { usePrevious } from '../../reactHelper';
+import { useAttributePreference } from '../../common/util/preferences';
const MapLiveRoutes = () => {
const id = 'liveRoute';
const theme = useTheme();
+ const liveRouteLength = useAttributePreference('web.liveRouteLength', 10);
+
const selectedDeviceId = useSelector((state) => state.devices.selectedId);
const currentDeviceId = usePrevious(selectedDeviceId);
@@ -62,7 +65,7 @@ const MapLiveRoutes = () => {
} else if (position) {
const last = route.at(-1);
if (!last || (last.latitude !== position.latitude && last.longitude !== position.longitude)) {
- setRoute([...route.slice(-9), position]);
+ setRoute([...route.slice(1 - liveRouteLength), position]);
}
}
}, [selectedDeviceId, currentDeviceId, position, route]);
diff --git a/modern/src/map/main/MapSelectedDevice.js b/modern/src/map/main/MapSelectedDevice.js
index 9d97dd75..c52b8df0 100644
--- a/modern/src/map/main/MapSelectedDevice.js
+++ b/modern/src/map/main/MapSelectedDevice.js
@@ -5,11 +5,14 @@ import dimensions from '../../common/theme/dimensions';
import { map } from '../core/MapView';
import { usePrevious } from '../../reactHelper';
import usePersistedState from '../../common/util/usePersistedState';
+import { useAttributePreference } from '../../common/util/preferences';
const MapSelectedDevice = () => {
const selectedDeviceId = useSelector((state) => state.devices.selectedId);
const previousDeviceId = usePrevious(selectedDeviceId);
+ const selectZoom = useAttributePreference('web.selectZoom', 10);
+
const position = useSelector((state) => state.positions.items[selectedDeviceId]);
const [mapFollow] = usePersistedState('mapFollow', false);
@@ -18,7 +21,7 @@ const MapSelectedDevice = () => {
if ((selectedDeviceId !== previousDeviceId || mapFollow) && position) {
map.easeTo({
center: [position.longitude, position.latitude],
- zoom: Math.max(map.getZoom(), 10),
+ zoom: Math.max(map.getZoom(), selectZoom),
offset: [0, -dimensions.popupMapOffset / 2],
});
}