Comment convertir LatLng à l'adresse Flutter (iOS et Android version)

0

La question

Je suis entrain de créer une application avec le Flottement qui utilise le géocodage d'un plugin pour convertir LatLng mesure de répondre.

Voici mon code:

import 'package:geocoding/geocoding.dart';

class HomePage extends StatefulWidget {
  const HomePage({Key? key}) : super(key: key);

  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  @override
  late String location = "location name";

  Future<String> getAddress() async {
    List<Placemark> placemarks = await placemarkFromCoordinates(
        45.478981,9.207120,
        localeIdentifier: 'it_It');
    return placemarks[0].name.toString();
  }

  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(title: Text("Convert LatLng to Address")),
        body: Center(
          child: Stack(children: [
            Column(
              mainAxisAlignment: MainAxisAlignment.center,
              crossAxisAlignment: CrossAxisAlignment.center,
              children: [
                Text(location),
                ElevatedButton(
                  onPressed: () {
                    getAddress().then((value) => {
                          setState(() {
                            location = value;
                          }),
                          print(value)
                        });
                  },
                  child: const Text('Convert LatLng'),
                ),
              ],
            ),
          ]),
        ));
  }
}

Le résultat de la conversion est la différence entre iOS et Android version, par exemple:

LatLng = 45.478981,9.207120

la version iOS résultat: "la Via Alessandro Tadino 21"

La version Android résultat: "46"

Je ne comprends pas pourquoi c'est différent, dois-je utiliser un autre plugin? Peut-être que le plugin utilise deux technologies différentes pour iOS et Android. Ne Android utiliser une sorte de Google Maps plugin?

dart flutter geocoder geocoding
2021-11-19 15:26:47
1

La meilleure réponse

1

Ce que vous avez besoin est le géocodage inversé

Inverser le géocodage est le processus de conversion de coordonnées géographiques dans un lisible de l'adresse.

Depuis que vous avez besoin exactement la même sorties à la fois android et iOS appareils, je vous suggérons d'utiliser Google API de Géocodage

Ensuite, vous pouvez utiliser la clé de l'API avec google_geocoding forfait et obtenez des lieux à l'aide de coordonnées

var googleGeocoding = GoogleGeocoding("API-KEY");
var result = await googleGeocoding.geocoding.getReverse(LatLon(40.714224,-73.961452));
2021-11-19 18:45:20

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................