Skip to content

Commit ea02da9

Browse files
committed
updating zoom functionality
1 parent e874ec8 commit ea02da9

2 files changed

Lines changed: 12 additions & 5 deletions

File tree

client/src/components/VectorFeatureSearch/VectorFeatureSearch.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import UVdatApi from '../../api/UVDATApi';
99
import MapStore from '../../MapStore';
1010
import { SearchableVectorDataRequest, SearchableVectorFeatureResponse } from '../../types';
1111
import { getStringBBox, internalMap } from '../../map/mapLayers';
12+
import { centerAndZoom } from '../../map/mapVectorLayers';
1213
1314
export default defineComponent({
1415
name: 'VectorFeatureSearch',
@@ -114,8 +115,7 @@ export default defineComponent({
114115
const zoomToFeature = (id: number) => {
115116
const found = searchResults.value.find((item) => item.id === id);
116117
if (found && internalMap.value && selectedSearchSettings.value?.display.zoomBufferOrLevel) {
117-
internalMap.value.setCenter([found.center.lon, found.center.lat]);
118-
internalMap.value.setZoom(selectedSearchSettings.value.display.zoomBufferOrLevel);
118+
centerAndZoom([found.center.lon, found.center.lat], selectedSearchSettings.value.display.zoomBufferOrLevel, true);
119119
}
120120
};
121121

client/src/map/mapVectorLayers.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -373,10 +373,17 @@ const updateVectorLayer = (layer: VectorMapLayer) => {
373373
updateHeatmap(internalMap.value as maplibregl.Map, layer);
374374
};
375375

376-
const centerAndZoom = (center: number[], zoom: number) => {
376+
const centerAndZoom = (center: number[], zoom: number, flyTo = false) => {
377377
if (internalMap.value !== null) {
378-
internalMap.value.setCenter(center as [number, number]);
379-
internalMap.value.setZoom(zoom);
378+
if (!flyTo) {
379+
internalMap.value.setCenter(center as [number, number]);
380+
internalMap.value.setZoom(zoom);
381+
} else {
382+
internalMap.value.flyTo({
383+
center: center as [number, number],
384+
zoom,
385+
});
386+
}
380387
}
381388
};
382389

0 commit comments

Comments
 (0)