From ad31992a86434b877907d8d4d380dc2f96663179 Mon Sep 17 00:00:00 2001 From: Louis Date: Sat, 2 Sep 2023 21:17:21 +0200 Subject: [PATCH] feat: :sparkles: The application can display all velibs near the user's location --- velibtracker/utils/fetchVelibData.swift | 24 ++++++++++-------------- velibtracker/velibtrackerApp.swift | 6 +++--- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/velibtracker/utils/fetchVelibData.swift b/velibtracker/utils/fetchVelibData.swift index 93ddd90..de7834c 100644 --- a/velibtracker/utils/fetchVelibData.swift +++ b/velibtracker/utils/fetchVelibData.swift @@ -10,8 +10,6 @@ import Foundation var velibStations: [VelibStation] = [] -import Foundation - func fetchVelibData() { // L'URL de l'API Vélib let apiUrl = URL(string: "https://opendata.paris.fr/api/explore/v2.1/catalog/datasets/velib-disponibilite-en-temps-reel/records?select=stationcode,name,capacity,numdocksavailable,numbikesavailable,mechanical,ebike,coordonnees_geo")! @@ -23,13 +21,13 @@ func fetchVelibData() { let task = session.dataTask(with: apiUrl) { (data, response, error) in // Vérifiez s'il y a des erreurs if let error = error { - print("Erreur de requête : \(error.localizedDescription)") + print("Query error : \(error.localizedDescription)") return } // Vérifiez si les données sont présentes guard let data = data else { - print("Aucune donnée reçue.") + print("No data received.") return } @@ -41,9 +39,9 @@ func fetchVelibData() { // Stockez les données dans la variable globale velibStations velibStations = velibResponse.results - print("Données Vélib récupérées avec succès.") + print("Vélib data successfully recovered.") } catch { - print("Erreur lors du décodage JSON : \(error.localizedDescription)") + print("Error decoding JSON : \(error.localizedDescription)") } } @@ -55,24 +53,22 @@ func fetchVelibData() { func fetchVelibDataLocation(lon: Double, lat: Double) { // L'URL de l'API Vélib print(lon, lat) - let longitude = String(lon).replacingOccurrences(of: ",", with: ".") - print(longitude) - let apiUrl = URL(string: "https://opendata.paris.fr/api/explore/v2.1/catalog/datasets/velib-disponibilite-en-temps-reel/records?select=stationcode,name,capacity,numdocksavailable,numbikesavailable,mechanical,ebike,coordonnees_geo&where=distance(coordonnees_geo%2C%20geom%27POINT(\(lon)%20\(lat)%27%2C%2015km)")! + let urlString = URL(string: "https://opendata.paris.fr/api/explore/v2.1/catalog/datasets/velib-disponibilite-en-temps-reel/records?select=stationcode,name,capacity,numdocksavailable,numbikesavailable,mechanical,ebike,coordonnees_geo&where=distance(coordonnees_geo,geom%27POINT(\(lon)\("%20")\(lat))%27,5km)")! // Créez une session URLSession pour effectuer la requête let session = URLSession.shared // Créez la tâche de requête - let task = session.dataTask(with: apiUrl) { (data, response, error) in + let task = session.dataTask(with: urlString) { (data, response, error) in // Vérifiez s'il y a des erreurs if let error = error { - print("Erreur de requête : \(error.localizedDescription)") + print("Query error : \(error.localizedDescription)") return } // Vérifiez si les données sont présentes guard let data = data else { - print("Aucune donnée reçue.") + print("No data received.") return } @@ -85,9 +81,9 @@ func fetchVelibDataLocation(lon: Double, lat: Double) { velibStations = velibResponse.results print(velibStations) - print("Données Vélib récupérées avec succès.") + print("Vélib data successfully recovered.") } catch { - print("Erreur lors du décodage JSON : \(error.localizedDescription)") + print("Error decoding JSON : \(error.localizedDescription)") } } diff --git a/velibtracker/velibtrackerApp.swift b/velibtracker/velibtrackerApp.swift index 412120b..08c3b14 100644 --- a/velibtracker/velibtrackerApp.swift +++ b/velibtracker/velibtrackerApp.swift @@ -14,7 +14,7 @@ struct velibtrackerApp: App { ContentView() } } - init() { - fetchVelibData() - } + // init() { + // fetchVelibData() + // } }