我在Flutter上使用GeoLocator依赖项,能够获得位置的实时坐标。
但我只想得到城市的广义坐标,我应该怎么做。
下面的代码在使用上面提到的依赖项时提供了精确的实时位置,这是我不需要的。
我想要一个基于地理位置的城市名称。
请指导我应该如何实现它?
await Geolocator.getCurrentPosition().then((value) => {
_positionItems.add(_PositionItem(
_PositionItemType.position, value.toString()))
});
您可以使用Geocodinghttps://pub.dev/packages/geocoding
import 'package:geocoding/geocoding.dart';
import 'package:geolocator/geolocator.dart';
...
position = await Geolocator.getCurrentPosition(
desiredAccuracy: LocationAccuracy.best)
.timeout(Duration(seconds: 5))
try {
List<Placemark> placemarks = await placemarkFromCoordinates(
position.latitude,
position.longitude,
);
print(placemarks[0]);
...
}catch(err){}
...
您可以使用此包https://pub.dev/packages/geocoder
var address = await Geocoder.local.findAddressesFromCoordinates(coordinates);
String yourCityName = address.first.locality