Tutoriel Flutter – Création d’applications Android à l’aide du géolocalisateur et du géocodage – Brilliansolution. Salut tout le monde, dans cet article, nous allons découvrir le géolocalisateur pour obtenir la longitude et la latitude, et nous essaierons d’obtenir l’adresse à partir de la longitude et de la latitude. Pour obtenir l’adresse à partir de la longitude et de la latitude, nous utiliserons le plugin Geocoding.
Nouveau Projet Flutter
la création d’un nouveau projet sur flutter peut utiliser le code terminal ou visual studio
flutter create fluttergeo
Ajoutez les dépendances requises dans le fichier pubspec.yaml
geolocator: ^9.0.0
geocoding: ^2.0.4
Réglage de l’autorisation Pada Flutter
Nous devons ajouter les autorisations dans android/app/src/main/AndroidManifest.xml.
Obtenir la latitude et la longitude
Pour obtenir la latitude et la longitude, appliquez le code ci-dessous :
String location = 'Not Getting Lat and Long, Please press button' ;
String address="Searching for a location..." ;
//getLongLAT
Future _getGeoLocationPosition() async
bool serviceEnabled;
LocationPermission permission;
serviceEnabled = await Geolocator.isLocationServiceEnabled();
//location service not enabled, don't continue
if (!serviceEnabled)
await Geolocator.openLocationSettings();
return Future.error('Location service Not Enabled');
permission = await Geolocator.checkPermission();
if (permission == LocationPermission.denied)
permission = await Geolocator.requestPermission();
if(permission == LocationPermission.denied)
return Future.error('Location permission denied');
//permission denied forever
if (permission == LocationPermission.deniedForever)
return Future.error(
'Location permission denied forever, we cannot access',
);
//continue accessing the position of device
return await Geolocator.getCurrentPosition(
desiredAccuracy: LocationAccuracy.high,
);
Ajout du géolocalisateur Ui dans Flutter
Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'Koordinat Point',
style: TextStyle(
fontSize: 22.0,
fontWeight: FontWeight.bold,
),
),
SizedBox(
height: 10.0,
),
Text(
location,
style: TextStyle(
fontSize: 12.0,
fontWeight: FontWeight.bold,
),
),
ElevatedButton(
onPressed: () async
Position position = await _getGeoLocationPosition();
setState(()
location = '$position.latitude, $position.longitude';
);
,
child: const Text('Get Koordinat'),
),
],
),
),
Sortie Latitude Dan Longitude
puis on clique sur autoriser pour activer le GPS
Obtenir l’adresse
Pour obtenir l’adresse à partir de la latitude et de la longitude générées, ajoutez le code ci-dessous :
Future getAddressFromLongLat(Position position) async
List placemarks =
await placemarkFromCoordinates(position.latitude, position.longitude);
print(placemarks);
Placemark place = placemarks[0];
setState(()
address="$place.street, $place.subLocality, $place.locality, $place.postalCode, $place.country";
);
Flutter de géocodage de l’interface utilisateur
Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'Koordinat Point',
style: TextStyle(
fontSize: 22.0,
fontWeight: FontWeight.bold,
),
),
SizedBox(
height: 10.0,
),
Text(
location,
style: TextStyle(
fontSize: 12.0,
fontWeight: FontWeight.bold,
),
),
const SizedBox(
height: 20.0,
),
const Text(
'Address',
style: TextStyle(
fontSize: 22.0,
fontWeight: FontWeight.bold,
),
),
SizedBox(height: 10.0,),
Text('$address'),
ElevatedButton(
onPressed: () async
Position position = await _getGeoLocationPosition();
setState(()
location = '$position.latitude, $position.longitude';
);
getAddressFromLongLat(position);
,
child: const Text('Get Koordinat'),
),
],
),
),
Collez le code dans gras dans le code précédent.
Sortie finale
Pour cet article, accédez d’abord ici, pour le code source complet, consultez le lien ci-dessous :
Source
En rapport
Cet article a été mis à jour 2023-05-20 16:04:20