Condividi tramite


Geocodifica

Browse sample. Esplorare l'esempio

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 nullo 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.