Accueil Astuces et Informations Tutoriel Flutter – Création d’applications Android à l’aide du géolocalisateur et du...

Tutoriel Flutter – Création d’applications Android à l’aide du géolocalisateur et du géocodage

8
0
Brillian Solution

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

Premiers résultats

puis on clique sur autoriser pour activer le GPS

Image WhatsApp 2022 07 04 au 08.34.23
deuxième résultat
Image WhatsApp 2022 07 04 au 08.34.02
sortie latitude et longitude

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

Image WhatsApp 2022 07 04 au 08.06.04 1
La sortie affiche les adresses en fonction de la latitude et de la longitude

Pour cet article, accédez d’abord ici, pour le code source complet, consultez le lien ci-dessous :

Source

Cet article a été mis à jour 2023-05-20 16:04:20