GeoCoordinateWatcher.Start Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zainicjuj pozyskiwanie danych od bieżącego dostawcy lokalizacji. Ta metoda włącza PositionChanged zdarzenia i zezwala na dostęp do Position właściwości.
Przeciążenia
Start() |
Zainicjuj pozyskiwanie danych od bieżącego dostawcy lokalizacji. Ta metoda włącza PositionChanged zdarzenia i zezwala na dostęp do Position właściwości. |
Start(Boolean) |
Zainicjuj pozyskiwanie danych od bieżącego dostawcy lokalizacji. Ta metoda włącza PositionChanged zdarzenia i zezwala na dostęp do Position właściwości. |
Start()
Zainicjuj pozyskiwanie danych od bieżącego dostawcy lokalizacji. Ta metoda włącza PositionChanged zdarzenia i zezwala na dostęp do Position właściwości.
public:
virtual void Start();
public void Start ();
abstract member Start : unit -> unit
override this.Start : unit -> unit
Public Sub Start ()
Implementuje
Przykłady
Poniższy program obsługuje pierwszą aktualizację lokalizacji, która występuje po Start wywołaniu.
using System;
using System.Device.Location;
namespace GetLocationDataUpdateOnce
{
class Program
{
static void Main(string[] args)
{
CLocation myLocation = new CLocation();
myLocation.GetLocationDataEvent();
Console.WriteLine("Enter any key to quit.");
Console.ReadLine();
}
class CLocation
{
GeoCoordinateWatcher watcher;
public void GetLocationDataEvent()
{
this.watcher = new GeoCoordinateWatcher();
this.watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);
this.watcher.Start();
}
void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
{
PrintPosition(e.Position.Location.Latitude, e.Position.Location.Longitude);
// Stop receiving updates after the first one.
this.watcher.Stop();
}
void PrintPosition(double Latitude, double Longitude)
{
Console.WriteLine("Latitude: {0}, Longitude {1}", Latitude, Longitude);
}
}
}
}
Imports System.Device.Location
Module GetLocationEvent
Public Class CLocation
Private WithEvents watcher As GeoCoordinateWatcher
Public Sub GetLocationDataEvent()
watcher = New System.Device.Location.GeoCoordinateWatcher()
AddHandler watcher.PositionChanged, AddressOf watcher_PositionChanged
watcher.Start()
End Sub
Private Sub watcher_PositionChanged(ByVal sender As Object, ByVal e As GeoPositionChangedEventArgs(Of GeoCoordinate))
PrintPosition(e.Position.Location.Latitude, e.Position.Location.Longitude)
' Stop receiving updates after the first one.
watcher.Stop()
End Sub
Private Sub PrintPosition(ByVal Latitude As Double, ByVal Longitude As Double)
Console.WriteLine("Latitude: {0}, Longitude {1}", Latitude, Longitude)
End Sub
End Class
Public Sub Main()
Dim myLocation As New CLocation()
myLocation.GetLocationDataEvent()
Console.WriteLine("Enter any key to quit.")
Console.ReadLine()
End Sub
End Module
Uwagi
Wywołanie tej metody spowoduje zainicjowanie pozyskiwania danych od bieżącego dostawcy lokalizacji. Bieżący dostawca lokalizacji jest wybierany na podstawie czynników, takich jak wiek i dokładność danych od wszystkich dostawców, dokładność żądana przez aplikację lub aplikacje oraz wpływ zużycia energii i wydajności skojarzony z dostawcą lokalizacji. Bieżący dostawca lokalizacji może ulec zmianie w czasie, na przykład, gdy urządzenie GPS traci sygnał satelitarny w pomieszczeniach, a dostawca triangulacji Wi-Fi staje się najbardziej dokładnym dostawcą na komputerze.
Jeśli bieżący dostawca lokalizacji o priorytecie nie ma danych po wywołaniu Start metody, rozpocznie pozyskiwanie danych. Jeśli uprawnienia zostały przyznane klientowi, gdy dane staną się dostępne, dostęp do danych można uzyskać synchronicznie i zostanie dostarczony asynchronicznie, jeśli są obsługiwane zdarzenia.
Jeśli platforma czujnika i lokalizacji systemu Windows 7 jest wyłączona po Start wywołaniu, Start natychmiast zwróci zdarzenia, PositionChanged zdarzenia nie zostaną zgłoszone, a lokalizacja zwrócona przez Location właściwość Position elementu będzie zawierać Unknownwartość .
Jeśli bieżący dostawca lokalizacji z priorytetem ma dane, będzie dostępny synchronicznie natychmiast i zostanie dostarczony asynchronicznie, jeśli zdarzenia są obsługiwane.
Jeśli aplikacja wywołująca nie ma uprawnień dostępu do danych od dostawcy lokalizacji, użytkownik zostanie poproszony o udzielenie lub odmowę uprawnienia. Okno dialogowe będzie moderować.
Dotyczy
Start(Boolean)
Zainicjuj pozyskiwanie danych od bieżącego dostawcy lokalizacji. Ta metoda włącza PositionChanged zdarzenia i zezwala na dostęp do Position właściwości.
public:
virtual void Start(bool suppressPermissionPrompt);
public void Start (bool suppressPermissionPrompt);
abstract member Start : bool -> unit
override this.Start : bool -> unit
Public Sub Start (suppressPermissionPrompt As Boolean)
Parametry
- suppressPermissionPrompt
- Boolean
true
aby pominąć okno dialogowe uprawnień; false
aby opcjonalnie wyświetlić okno dialogowe uprawnień, jeśli uprawnienia nie zostały jeszcze przyznane.