diff --git a/mapper/src/App.js b/mapper/src/App.js index 755e47a..0beba95 100644 --- a/mapper/src/App.js +++ b/mapper/src/App.js @@ -446,6 +446,43 @@ function Menu({data, duration, setDuration, end, setEnd, slider, setSlider, subm setSubmenu(false); }; + const searchArea = async () => { + const drawnRectangles = drawnItems.map(item => item.bounds); + if (!drawnRectangles.length) { + alert("Please draw one or more rectangles on the map first."); + setSubmenu(false); + return; + } + + const areas = drawnRectangles.map(bounds => ({ + northEast: bounds.getNorthEast(), + southWest: bounds.getSouthWest(), + })); + + try { + const api_key = localStorage.getItem('api_key'); + const params = { + end: end.unix(), + duration: duration.len.toLowerCase(), + api_key: api_key, + }; + + const res = await axios.post( + 'https://sensors-api.dns.t0.vc/search/owntracks/OwnTracks', + { areas: areas }, + { params: params } + ); + + console.log('Search results:', res.data); + alert('Search complete. Check the browser console for results.'); + } catch (error) { + console.error('Error during area search:', error); + alert('An error occurred during the search.'); + } + + setSubmenu(false); + }; + const range = parseSlider(end, duration, slider); const startDate = moment(end).subtract(...duration.delta); @@ -616,6 +653,7 @@ function Menu({data, duration, setDuration, end, setEnd, slider, setSlider, subm +