// import 'dart:convert'; // // import 'package:http/http.dart' as http; // import 'package:gear/Helper/Logger.dart'; // import 'package:shared_preferences/shared_preferences.dart'; // // // class GooglePlacesService { // // String? latitude; // String? longitude; // String? city; // String? googleApiKey; // int? radius; // // GooglePlacesService(); // // // Future>> getPlacesPredictions(String input) async { // // final url = Uri.parse( // // 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=$input&key=AIzaSyCF4KatYCI3vqz1_H3kiHeyS3yCMfYToh8'); // // // // final response = await http.get(url); // // // // if (response.statusCode == 200) { // // final predictions = json.decode(response.body)['predictions']; // // return List>.from(predictions); // // } else { // // throw Exception('Failed to load predictions'); // // } // // } // // Future>> getPlacesPredictions(String input) async { // SharedPreferences prefs = await SharedPreferences.getInstance(); // latitude = prefs.getString('appLatitude'); // longitude = prefs.getString('appLongitude'); // city = prefs.getString('appLocation'); // radius = prefs.getInt('appRadius'); // googleApiKey = prefs.getString('googleApiKey')??'AIzaSyBhkGfnq27sN0wV5y_S-M2KojpFTk_by-Q'; // // logger.i(city); // final url = Uri.parse( // // 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=$input&components=country:IN&key=AIzaSyCF4KatYCI3vqz1_H3kiHeyS3yCMfYToh8'); // 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=$input$city&location=$latitude,$longitude&radius=15000&bounds=$latitude,$longitude&components=country:IN&types=establishment&key=$googleApiKey'); // logger.i(url); // final response = await http.get(url); // // if (response.statusCode == 200) { // final Map data = json.decode(response.body); // final predictions = data['predictions'] as List; // return predictions.map((prediction) => prediction as Map).toList(); // } else { // throw Exception('Failed to load autocomplete suggestions'); // } // } // // Future> getPlaceDetails(String placeId) async { // SharedPreferences prefs = await SharedPreferences.getInstance(); // googleApiKey = prefs.getString('googleApiKey')??'AIzaSyBhkGfnq27sN0wV5y_S-M2KojpFTk_by-Q'; // // final url = Uri.parse( // 'https://maps.googleapis.com/maps/api/place/details/json?place_id=$placeId&key=$googleApiKey'); // // final response = await http.get(url); // // if (response.statusCode == 200) { // final details = json.decode(response.body)['result']; // return Map.from(details); // } else { // throw Exception('Failed to load place details'); // } // } // // Future getDistance(double pickupLat, double pickupLong, double dropLat, double dropLong) async { // SharedPreferences prefs = await SharedPreferences.getInstance(); // googleApiKey = prefs.getString('googleApiKey')??'AIzaSyBhkGfnq27sN0wV5y_S-M2KojpFTk_by-Q'; // // final url = // 'https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=$pickupLat,$pickupLong&destinations=$dropLat,$dropLong&key=$googleApiKey'; // // final response = await http.get(Uri.parse(url)); // // if (response.statusCode == 200) { // final data = jsonDecode(response.body); // final distanceText = data['rows'][0]['elements'][0]['distance']['text']; // final distanceValue = data['rows'][0]['elements'][0]['distance']['value'] / 1000; // Convert meters to kilometers // print('Distance: $distanceText'); // return distanceValue; // } else { // throw Exception('Failed to load distance'); // } // } // // }