GeoCoordinateWatcher.Start Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Zahájit získávání dat od aktuálního poskytovatele umístění. Tato metoda povoluje PositionChanged události a umožňuje přístup k Position vlastnosti.
Přetížení
Start() |
Zahájit získávání dat od aktuálního poskytovatele umístění. Tato metoda povoluje PositionChanged události a umožňuje přístup k Position vlastnosti. |
Start(Boolean) |
Zahájit získávání dat od aktuálního poskytovatele umístění. Tato metoda povoluje PositionChanged události a umožňuje přístup k Position vlastnosti. |
Start()
Zahájit získávání dat od aktuálního poskytovatele umístění. Tato metoda povoluje PositionChanged události a umožňuje přístup k Position vlastnosti.
public:
virtual void Start();
public void Start ();
abstract member Start : unit -> unit
override this.Start : unit -> unit
Public Sub Start ()
Implementuje
Příklady
Následující program zpracovává první aktualizaci umístění, ke které dojde po Start zavolání.
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
Poznámky
Voláním této metody zahájíte získání dat od aktuálního poskytovatele umístění. Aktuální poskytovatel polohy je vybrán na základě faktorů, jako je stáří a přesnost dat od všech poskytovatelů, přesnost požadovaná aplikací nebo aplikacemi a dopad na spotřebu energie a výkon související s poskytovatelem polohy. Aktuální poskytovatel polohy se může v průběhu času měnit, například když zařízení GPS ztratí satelitní signál uvnitř a poskytovatel Wi-Fi triangulace se stane nejpřesnějším poskytovatelem v počítači.
Pokud aktuální zprostředkovatel umístění s prioritou nemá při Start zavolání metody data, začne získávat data. Pokud jsou oprávnění udělena klientovi, jakmile budou data k dispozici, je možné k datům přistupovat synchronně a při zpracování událostí se budou doručovat asynchronně.
Pokud je platforma senzoru a zjišťování polohy systému Windows 7 při zavolání zakázaná Start , Start okamžitě se vrátí, PositionChanged události nebudou vyvolány a umístění vrácené Location vlastností Position bude obsahovat Unknown.
Pokud aktuální poskytovatel umístění s prioritou má data, budou k dispozici synchronně okamžitě a při zpracování událostí se doručí asynchronně.
Pokud volající aplikace nemá oprávnění pro přístup k datům od poskytovatele umístění, zobrazí se uživateli výzva k udělení nebo odepření oprávnění. Dialogové okno bude nemodální.
Platí pro
Start(Boolean)
Zahájit získávání dat od aktuálního poskytovatele umístění. Tato metoda povoluje PositionChanged události a umožňuje přístup k Position vlastnosti.
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
potlačit dialogové okno oprávnění; false
a volitelně zobrazíte dialogové okno oprávnění, pokud ještě nebyla udělena oprávnění.