Partager via


Géocodage

Browse sample. Parcourir l’exemple

Cet article explique comment utiliser l’interface utilisateur de l’application multiplateforme .NET (.NET MAUI). IGeocoding Ces interfaces fournissent des API pour géocoder une marque de place à des coordonnées positionnelles et des coordonnées de géocodage inverses vers un filigrane.

L’implémentation par défaut de l’interface IGeocoding est disponible via la Geocoding.Default propriété. L’interface et Geocoding la IGeocoding classe sont contenues dans l’espace Microsoft.Maui.Devices.Sensors de noms.

Démarrage

Pour accéder à la fonctionnalité de géocodage , la configuration spécifique à la plateforme suivante est requise.

Aucune configuration n’est requise.

Utiliser le géocodage

L’exemple suivant montre comment obtenir les coordonnées d’emplacement d’une adresse :

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’altitude n’est pas toujours disponible. S’il n’est pas disponible, la Altitude propriété peut être null, ou la valeur peut être 0. Si l’altitude est disponible, la valeur est exprimée en mètres au-dessus du niveau de la mer.

Géocodage inverse

Le géocodage inverse est le processus d’obtention de filigranes pour un ensemble de coordonnées existant. L’exemple suivant illustre l’obtention de filigranes :

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 "";
}

Obtenir la distance entre deux emplacements

Les classes Location et LocationExtensions définissent des méthodes qui permettent de calculer la distance entre deux emplacements. Pour obtenir un exemple d’obtention de la distance entre deux emplacements, consultez Distance entre deux emplacements.