Udostępnij za pośrednictwem


CivicAddressResolver.ResolveAddress(GeoCoordinate) Metoda

Definicja

Synchronicznie rozpoznaje adres obywatelski z lokalizacji na podstawie szerokości i długości geograficznej. To wywołanie zablokuje wykonywanie wątku wywołującego, gdy adres jest rozpoznawany.

public:
 virtual System::Device::Location::CivicAddress ^ ResolveAddress(System::Device::Location::GeoCoordinate ^ coordinate);
public System.Device.Location.CivicAddress ResolveAddress (System.Device.Location.GeoCoordinate coordinate);
abstract member ResolveAddress : System.Device.Location.GeoCoordinate -> System.Device.Location.CivicAddress
override this.ResolveAddress : System.Device.Location.GeoCoordinate -> System.Device.Location.CivicAddress
Public Function ResolveAddress (coordinate As GeoCoordinate) As CivicAddress

Parametry

coordinate
GeoCoordinate

Lokalizacja GeoCoordinate zawierająca adres obywatelski.

Zwraca

Adres obywatelski, który jest rozpoznawany z parametru coordinate . Unknown jest zwracany, jeśli nie można rozpoznać adresu.

Implementuje

Wyjątki

coordinate to null.

coordinate nie zawiera prawidłowej szerokości i długości geograficznej.

Przykłady

Poniższy program pokazuje, jak zadzwonić ResolveAddress , aby rozwiązać adres obywatelski synchronicznie.

using System;
using System.Device.Location;
namespace ResolveAddressSync
{
    class Program
    {
        static void Main(string[] args)
        {
            ResolveAddressSync();
        }
        static void ResolveAddressSync()
        {
            GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High);
            watcher.MovementThreshold = 1.0; // set to one meter
            watcher.TryStart(false, TimeSpan.FromMilliseconds(1000));

            CivicAddressResolver resolver = new CivicAddressResolver();

            if (watcher.Position.Location.IsUnknown == false)
            {
                CivicAddress address = resolver.ResolveAddress(watcher.Position.Location);

                if (!address.IsUnknown)
                {
                    Console.WriteLine("Country: {0}, Zip: {1}",
                            address.CountryRegion,
                            address.PostalCode);
                }
                else
                {
                    Console.WriteLine("Address unknown.");
                }
            }
        }
    }
}
Imports System.Device.Location

Module ResolveAddressSync

    Public Sub ResolveAddressSync()
        Dim watcher As GeoCoordinateWatcher
        watcher = New System.Device.Location.GeoCoordinateWatcher(GeoPositionAccuracy.High)
        Dim started As Boolean = False
        watcher.MovementThreshold = 1.0     'set to one meter
        started = watcher.TryStart(False, TimeSpan.FromMilliseconds(1000))

        Dim resolver As CivicAddressResolver = New CivicAddressResolver()
        If started Then
            If Not watcher.Position.Location.IsUnknown Then
                Dim address As CivicAddress = resolver.ResolveAddress(watcher.Position.Location)
                If Not address.IsUnknown Then
                    Console.WriteLine("Country: {0}, Zip: {1}",
                                address.CountryRegion,
                                address.PostalCode)
                Else
                    Console.WriteLine("Address unknown.")
                End If
            End If
        Else
            Console.WriteLine("GeoCoordinateWatcher timed out on start.")
        End If
    End Sub


    Public Sub Main()

        ResolveAddressSync()
        Console.WriteLine("Enter any key to quit.")
        Console.ReadLine()
    End Sub

End Module

Uwagi

Zdarzenie ResolveAddressCompleted jest zgłaszane po zakończeniu operacji rozpoznawania adresu. Adres obywatelski rozpoznawany z parametru coordinate jest zwracany przez Address element członkowski ResolveAddressCompletedEventArgs obiektu, który jest przekazywany do programu obsługi zdarzeń.

Dotyczy