Udostępnij za pośrednictwem


ICivicAddressResolver.ResolveAddressAsync(GeoCoordinate) Metoda

Definicja

Inicjuje żądanie rozpoznawania lokalizacji szerokości/długości geograficznej na adres.

public:
 void ResolveAddressAsync(System::Device::Location::GeoCoordinate ^ coordinate);
public void ResolveAddressAsync (System.Device.Location.GeoCoordinate coordinate);
abstract member ResolveAddressAsync : System.Device.Location.GeoCoordinate -> unit
Public Sub ResolveAddressAsync (coordinate As GeoCoordinate)

Parametry

coordinate
GeoCoordinate

Lokalizacja szerokości/długości geograficznej rozpoznawana jako adres.

Przykłady

W poniższym przykładzie pokazano, jak wywołać metodę ResolveAddressAsync.

static void ResolveAddressAsync()
{
    GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High);
    bool started = false;
    watcher.MovementThreshold = 1.0; // set to one meter
    started = watcher.TryStart(false, TimeSpan.FromMilliseconds(1000));

    if (started)
    {
        CivicAddressResolver resolver = new CivicAddressResolver();

        resolver.ResolveAddressCompleted += new EventHandler<ResolveAddressCompletedEventArgs>(resolver_ResolveAddressCompleted);

        if (watcher.Position.Location.IsUnknown == false)
        {
            resolver.ResolveAddressAsync(watcher.Position.Location);
        }
    }
}

static void resolver_ResolveAddressCompleted(object sender, ResolveAddressCompletedEventArgs e)
{
    if (!e.Address.IsUnknown)
    {
        Console.WriteLine("Country: {0}, Zip: {1}",
                   e.Address.CountryRegion,
                   e.Address.PostalCode);
    }
    else
    {
        Console.WriteLine("Unknown address.");
    }
}

Public Sub ResolveCivicAddressAsync()
    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))
    If started Then
        Dim resolver As CivicAddressResolver = New CivicAddressResolver()
        AddHandler resolver.ResolveAddressCompleted, AddressOf resolver_ResolveAddressCompleted
        If Not watcher.Position.Location.IsUnknown Then
            resolver.ResolveAddressAsync(watcher.Position.Location)
        End If
    End If

    watcher.Start()

End Sub

Sub resolver_ResolveAddressCompleted(ByVal sender As Object, ByVal e As ResolveAddressCompletedEventArgs)
    If Not e.Address.IsUnknown Then
        Console.WriteLine("Country: {0}, Zip: {1}",
                       e.Address.CountryRegion,
                       e.Address.PostalCode)
    Else
        Console.WriteLine("Unknown address.")
    End If
End Sub

Uwagi

Ta metoda przechowuje w zadaniu wszystkie wyjątki inne niż użycie, które mogą zgłaszać synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony po oczekiwaniu na zadanie. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez ResolveAddress(GeoCoordinate)usługę .

Dotyczy

Zobacz też