GeoCoordinateWatcher.Start Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Initiera förvärvet av data från den aktuella platsprovidern. Den här metoden aktiverar PositionChanged händelser och ger åtkomst till egenskapen Position .
Överlagringar
| Name | Description |
|---|---|
| Start() |
Initiera förvärvet av data från den aktuella platsprovidern. Den här metoden aktiverar PositionChanged händelser och ger åtkomst till egenskapen Position . |
| Start(Boolean) |
Initiera förvärvet av data från den aktuella platsprovidern. Den här metoden aktiverar PositionChanged händelser och ger åtkomst till egenskapen Position . |
Start()
Initiera förvärvet av data från den aktuella platsprovidern. Den här metoden aktiverar PositionChanged händelser och ger åtkomst till egenskapen Position .
public:
virtual void Start();
public void Start();
abstract member Start : unit -> unit
override this.Start : unit -> unit
Public Sub Start ()
Implementeringar
Exempel
Följande program hanterar den första platsuppdateringen som inträffar efter Start anropas.
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
Kommentarer
Om du anropar den här metoden initieras insamlingen av data från den aktuella platsprovidern. Den aktuella platsprovidern väljs baserat på faktorer som ålder och noggrannhet för data från alla leverantörer, den noggrannhet som programmet eller programmen begär samt den effekt på energiförbrukningen och prestandan som är associerad med platsprovidern. Den aktuella platsleverantören kan till exempel ändras med tiden när en GPS-enhet förlorar sin satellitsignal inomhus och en Wi-Fi trianguleringsprovider blir den mest exakta leverantören på datorn.
Om den aktuella prioriterade platsprovidern inte har data när Start metoden anropas börjar den hämta data. Om behörigheterna har beviljats klienten när data blir tillgängliga kan data nås synkront och levereras asynkront om händelser hanteras.
Om Windows 7-sensorn och platsplattformen inaktiveras när Start anropas kommer Start omedelbart att returneras, PositionChanged händelser aktiveras inte och platsen som returneras av egenskapen Location för Position innehåller Unknown.
Om den aktuella prioriterade platsprovidern har data blir den tillgänglig synkront omedelbart och levereras asynkront om händelser hanteras.
Om det anropande programmet inte har behörighet att komma åt data från en platsprovider uppmanas användaren med en dialogruta att antingen bevilja eller neka behörighet. Dialogrutan kommer att vara lägeslös.
Gäller för
Start(Boolean)
Initiera förvärvet av data från den aktuella platsprovidern. Den här metoden aktiverar PositionChanged händelser och ger åtkomst till egenskapen Position .
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)
Parametrar
- suppressPermissionPrompt
- Boolean
true för att utelämna behörighetsdialogrutan. false om du vill visa dialogrutan behörighet om behörigheter inte redan har beviljats.