Я создаю приложение с Flutter, которое использует плагин геокодирования для преобразования местоположения LatLng в адрес.
Вот мой код:
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'),
),
],
),
]),
));
}
}
Результат преобразования отличается между версиями iOS и Android, например:
LatLng = 45.478981,9.207120
Результат версии iOS: "Через Алессандро Тадино 21"
Результат версии Android: "46"
Я не понимаю, почему это по-другому, должен ли я использовать другой плагин? Возможно, плагин использует две разные технологии для iOS и Android. Использует ли Android своего рода плагин Google Maps?