Solución:
Actualizar:
Usar codificación geográfica
import 'package:geocoding/geocoding.dart';
List<Placemark> placemarks = await placemarkFromCoordinates(52.2165157, 6.9437819);
Solución antigua:
Ya estás allí, las cosas adicionales que necesitas son:
String _address = ""; // create this variable
void _getPlace() async {
List<Placemark> newPlace = await _geolocator.placemarkFromCoordinates(_position.latitude, _position.longitude);
// this is all you need
Placemark placeMark = newPlace[0];
String name = placeMark.name;
String subLocality = placeMark.subLocality;
String locality = placeMark.locality;
String administrativeArea = placeMark.administrativeArea;
String postalCode = placeMark.postalCode;
String country = placeMark.country;
String address = "${name}, ${subLocality}, ${locality}, ${administrativeArea} ${postalCode}, ${country}";
print(address);
setState(() {
_address = address; // update _address
});
}
La marca de posición se eliminó del geolocalizador a partir de la versión 6.0.0 y se movió a la codificación geográfica.
A partir de la versión 6.0.0, las funciones de codificación geográfica (placemarkFromAddress y placemarkFromCoordinates) ya no forman parte del complemento de geolocalizador. Hemos trasladado estas funciones a su propio complemento: geocodificación. Este nuevo complemento es una versión mejorada de los métodos antiguos.
Para traducir la latitud y la longitud a una dirección con el uso de codificación geográfica
List<Placemark> placemarks = await placemarkFromCoordinates(52.2165157, 6.9437819);
primero, ha incluido lib -geolocator: ^ 3.0.1 en pubspec.yaml
///Get current location
Geolocator _geolocator = Geolocator();
String latitude = "";
String longitude = "";
String address = "";
Prueba esta solución:
///Call this function
_fetchLocation() async {
Position position = await _geolocator.getCurrentPosition(
desiredAccuracy: LocationAccuracy.best);///Here you have choose level of distance
latitude = position.latitude.toString() ?? '';
longitude = position.longitude.toString() ?? '';
var placemarks = await _geolocator.placemarkFromCoordinates(position.latitude, position.longitude);
address="${placemarks.first.name.isNotEmpty ? placemarks.first.name + ", ' : ''}${placemarks.first.thoroughfare.isNotEmpty ? placemarks.first.thoroughfare + ', ' : ''}${placemarks.first.subLocality.isNotEmpty ? placemarks.first.subLocality+ ', ' : ''}${placemarks.first.locality.isNotEmpty ? placemarks.first.locality+ ', ' : ''}${placemarks.first.subAdministrativeArea.isNotEmpty ? placemarks.first.subAdministrativeArea + ', ' : ''}${placemarks.first.postalCode.isNotEmpty ? placemarks.first.postalCode + ', ' : ''}${placemarks.first.administrativeArea.isNotEmpty ? placemarks.first.administrativeArea : ''}';
print("latitude"+latitude);
print("longitude"+longitude);
print("adreess"+address);
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)