Geocodifica
Questo articolo descrive come usare l'interfaccia dell'interfaccia utente dell'app multipiattaforma .NET (.NET MAUI). IGeocoding Queste interfacce forniscono API per la geocodifica di un segnaposto a coordinate posizionali e coordinate geocodice inversi su un segnaposto.
L'implementazione predefinita dell'interfaccia IGeocoding
è disponibile tramite la Geocoding.Default proprietà . Sia l'interfaccia che Geocoding
la IGeocoding
classe sono contenute nello spazio dei Microsoft.Maui.Devices.Sensors
nomi .
Introduzione
Per accedere alla funzionalità geocodifica è necessaria la configurazione specifica della piattaforma seguente.
Non è necessaria alcuna configurazione.
Usare la geocodifica
Nell'esempio seguente viene illustrato come ottenere le coordinate della posizione per un indirizzo:
string address = "Microsoft Building 25 Redmond WA USA";
IEnumerable<Location> locations = await Geocoding.Default.GetLocationsAsync(address);
Location location = locations?.FirstOrDefault();
if (location != null)
Console.WriteLine($"Latitude: {location.Latitude}, Longitude: {location.Longitude}, Altitude: {location.Altitude}");
L'altitudine non è sempre disponibile. Se non è disponibile, la Altitude proprietà potrebbe essere null
o il valore potrebbe essere 0
. Se l'altitudine è disponibile, il valore è espresso in metri sopra il livello del mare.
Geocodifica inversa
La geocodifica inversa è il processo di recupero dei segnaposto per un set esistente di coordinate. L'esempio seguente illustra come ottenere i segnaposto:
private async Task<string> GetGeocodeReverseData(double latitude = 47.673988, double longitude = -122.121513)
{
IEnumerable<Placemark> placemarks = await Geocoding.Default.GetPlacemarksAsync(latitude, longitude);
Placemark placemark = placemarks?.FirstOrDefault();
if (placemark != null)
{
return
$"AdminArea: {placemark.AdminArea}\n" +
$"CountryCode: {placemark.CountryCode}\n" +
$"CountryName: {placemark.CountryName}\n" +
$"FeatureName: {placemark.FeatureName}\n" +
$"Locality: {placemark.Locality}\n" +
$"PostalCode: {placemark.PostalCode}\n" +
$"SubAdminArea: {placemark.SubAdminArea}\n" +
$"SubLocality: {placemark.SubLocality}\n" +
$"SubThoroughfare: {placemark.SubThoroughfare}\n" +
$"Thoroughfare: {placemark.Thoroughfare}\n";
}
return "";
}
Ottenere la distanza tra due posizioni
Le classi Location e LocationExtensions definiscono i metodi per calcolare la distanza tra due località. Per un esempio di recupero della distanza tra due posizioni, vedere Distanza tra due posizioni.