Professional Documents
Culture Documents
Assistant Methods
Assistant Methods
Assistant Methods
dart';
import 'package:bikers_go_couriers/global/global.dart';
import 'package:bikers_go_couriers/global/map_key.dart';
import 'package:bikers_go_couriers/infoHandler/app_info.dart';
import 'package:bikers_go_couriers/models/direction_details_info.dart';
import 'package:bikers_go_couriers/models/directions.dart';
import 'package:bikers_go_couriers/models/user_model.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:firebase_database/firebase_database.dart';
import 'package:geolocator/geolocator.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:provider/provider.dart';
class AssistantMethods
{
static Future<String> searchAddressForGeographicCoOrdinates(Position position,
context) async
{
String apiUrl = "https://maps.googleapis.com/maps/api/geocode/json?latlng=$
{position.latitude},${position.longitude}&key=$mapKey";
String humanReadableAddress="";
Provider.of<AppInfo>(context, listen:
false).updatePickUpLocationAddress(userPickUpAddress);
}
return humanReadableAddress;
}
userRef.once().then((snap)
{
if(snap.snapshot.value != null)
{
userModelCurrentInfo = UserModel.fromSnapshot(snap.snapshot);
}
});
}
static Future<DirectionDetailsInfo?>
obtainOriginToDestinationDirectionDetails(LatLng origionPosition, LatLng
destinationPosition) async
{
String urlOriginToDestinationDirectionDetails =
"https://maps.googleapis.com/maps/api/directions/json?origin=$
{origionPosition.latitude},${origionPosition.longitude}&destination=$
{destinationPosition.latitude},${destinationPosition.longitude}&key=$mapKey";
directionDetailsInfo.distance_text = responseDirectionApi["routes"][0]["legs"]
[0]["distance"]["text"];
directionDetailsInfo.distance_value = responseDirectionApi["routes"][0]["legs"]
[0]["distance"]["value"];
directionDetailsInfo.duration_text = responseDirectionApi["routes"][0]["legs"]
[0]["duration"]["text"];
directionDetailsInfo.duration_value = responseDirectionApi["routes"][0]["legs"]
[0]["duration"]["value"];
return directionDetailsInfo;
}
}