Xamarin.Essentials: Coğrafi olarakcoding

Geocoding sınıfı, konumsal koordinatlara bir yer işareti coğrafi kodlamak için API'ler ve bir yer işaretine ters coğrafi kod koordinatları sağlar.

başlarken

Bu API'yi kullanmaya başlamak için kitaplığın projelerinize düzgün bir şekilde yük olduğundan ve ayar olduğundan emin olmak için başlangıç kılavuzunu okuyun.

Coğrafi kodlama işlevine erişmek için aşağıdaki platforma özgü kurulum gereklidir.

Ek kurulum gerekmez.

Coğrafi OlarakCoding Kullanma

sınıfınıza Xamarin.Essentials bir başvuru ekleyin:

using Xamarin.Essentials;

Bir adres için konum koordinatlarını alma:

try
{
    var address =  "Microsoft Building 25 Redmond WA USA";
    var locations = await Geocoding.GetLocationsAsync(address);

    var location = locations?.FirstOrDefault();
    if (location != null)
    {
        Console.WriteLine($"Latitude: {location.Latitude}, Longitude: {location.Longitude}, Altitude: {location.Altitude}");
    }
}
catch (FeatureNotSupportedException fnsEx)
{
    // Feature not supported on device
}
catch (Exception ex)
{
    // Handle exception that may have occurred in geocoding
}

Rakım her zaman kullanılabilir değildir. Bu özellik Altitude kullanılamıyorsa, özellik veya değer sıfır null olabilir. Rakım varsa, değer deniz seviyesinin metre üzerindedir.

Ters CoğrafiCoding Kullanma

Ters coğraficoding, mevcut koordinat kümesi için yer işaretlerini alma işlemidir:

try
{
    var lat = 47.673988;
    var lon = -122.121513;

    var placemarks = await Geocoding.GetPlacemarksAsync(lat, lon);

    var placemark = placemarks?.FirstOrDefault();
    if (placemark != null)
    {
        var geocodeAddress =
            $"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";

        Console.WriteLine(geocodeAddress);
    }
}
catch (FeatureNotSupportedException fnsEx)
{
    // Feature not supported on device
}
catch (Exception ex)
{
    // Handle exception that may have occurred in geocoding
}

İki Konum Arasındaki Uzaklık

ve LocationLocationExtensions sınıfları, iki konum arasındaki mesafeyi hesaplamak için yöntemleri tanımlar. Örnek için Xamarin.Essentials: Geolocation makaleye bakın.

API

Channel 9 ve YouTube'da daha fazla Xamarin videosu bulun.