【发布时间】:2020-11-24 12:39:42
【问题描述】:
如何知道flutter中的城市名称?我用了这么多包,只得到了Lang和Lat 我想得到城市名称! 有什么包可以帮助我解决这个问题吗?
import 'package:flutter_material_pickers/flutter_material_pickers.dart';
import 'package:random_color/random_color.dart';
import 'package:location/location.dart';
import 'package:geocoder/geocoder.dart';
class _ProfileScreenState extends State<ExploreScreen> {
final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>();
String cityName = ksaCities[29];
double userLongitude;
double userLatitude;
int page = 0;
@override
initState() {
super.initState();
getCurrentLocation();
}
Future<Address> getCurrentLocation() async {
LocationData myLocation;
String error;
Location location = new Location();
try {
myLocation = await location.getLocation();
} on PlatformException catch (e) {
if (e.code == 'PERMISSION_DENIED') {
error = 'please grant permission';
print(error);
}
if (e.code == 'PERMISSION_DENIED_NEVER_ASK') {
error = 'permission denied- please enable it from app settings';
print(error);
}
myLocation = null;
}
final coordinates =
new Coordinates(myLocation.latitude, myLocation.longitude);
var addresses =
await Geocoder.local.findAddressesFromCoordinates(coordinates);
var first = addresses.first;
print(
' ${first.locality}, ${first.adminArea},${first.subLocality}, ${first.subAdminArea},${first.addressLine}, ${first.featureName},${first.thoroughfare}, ${first.subThoroughfare}');
return first;
}
}
【问题讨论】:
-
你尝试过哪些软件包?
-
这个 stackoverflow 答案可能会对您有所帮助:stackoverflow.com/a/60911692/14219221
-
@Nuqo ,我刚刚完成了您在 cmets 中放在这里的示例,它给了我这个错误:[ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: MissingPluginException (在 github.com/aloisdeniel/geocoder 频道上找不到方法 findAddressesFromCoordinates 的实现)
-
@Nuqo 之后是这个: