diff --git a/components/Location.tsx b/components/Location.tsx index eeab7e3..6907137 100644 --- a/components/Location.tsx +++ b/components/Location.tsx @@ -6,7 +6,6 @@ import * as Location from "expo-location"; import log from "@/util/log" export const API_URL = process.env.EXPO_PUBLIC_API_URL; - const BUTTON_WIDTH = 260; const LocationComponent = () => { @@ -15,20 +14,34 @@ const LocationComponent = () => { const [loading, setLoading] = useState(false); const [locLoading, setLocLoading] = useState(false); + // Call the parks endpoint with coordinates + const fetchNearbyParks = async (longitude: number, latitude: number) => { + try { + const range = 25; + const response = await axios.post(API_URL + "/parkLookup", { "Lon": longitude, "Lat": latitude, "Dist": range }); + log.error("Nearby Parks:", response.data); // handle parks as you need + } catch (err) { + log.error("Nearby Parks Error:", err); + } + }; + + // Zip code handler const handleSubmit = async () => { if (!zip) return; setLoading(true); try { const response = await axios.post(API_URL + "/zipLookup", { zip }); - log.error(response.data); - const long = response.data[0]; - const lat = response.data[1]; + log.error("Zip Lookup Response:", response.data); + const longitude = response.data[0]; + const latitude = response.data[1]; + await fetchNearbyParks(longitude, latitude); } catch (err) { log.error(err); } setLoading(false); }; + // Geolocation handler const handleGetLocation = async () => { setLocLoading(true); try { @@ -41,6 +54,7 @@ const LocationComponent = () => { let location = await Location.getCurrentPositionAsync({}); const { longitude, latitude } = location.coords; log.error([longitude, latitude]); + await fetchNearbyParks(longitude, latitude); } catch (err) { log.error("Location Error:", err); } @@ -103,4 +117,4 @@ const LocationComponent = () => { ); }; -export default LocationComponent; +export default LocationComponent; \ No newline at end of file