GeoCoordinateWatcher.Start Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Start de verwerving van gegevens van de huidige locatieprovider. Met deze methode worden gebeurtenissen ingeschakeld PositionChanged en wordt toegang tot de Position eigenschap toegestaan.
Overloads
| Name | Description |
|---|---|
| Start() |
Start de verwerving van gegevens van de huidige locatieprovider. Met deze methode worden gebeurtenissen ingeschakeld PositionChanged en wordt toegang tot de Position eigenschap toegestaan. |
| Start(Boolean) |
Start de verwerving van gegevens van de huidige locatieprovider. Met deze methode worden gebeurtenissen ingeschakeld PositionChanged en wordt toegang tot de Position eigenschap toegestaan. |
Start()
Start de verwerving van gegevens van de huidige locatieprovider. Met deze methode worden gebeurtenissen ingeschakeld PositionChanged en wordt toegang tot de Position eigenschap toegestaan.
public:
virtual void Start();
public void Start();
abstract member Start : unit -> unit
override this.Start : unit -> unit
Public Sub Start ()
Implementeringen
Voorbeelden
Het volgende programma verwerkt de eerste locatie-update die zich voordoet nadat Start deze is aangeroepen.
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
Opmerkingen
Als u deze methode aanroept, wordt de verwerving van gegevens van de huidige locatieprovider gestart. De huidige locatieprovider wordt geselecteerd op basis van factoren zoals de leeftijd en nauwkeurigheid van de gegevens van alle providers, de nauwkeurigheid die door de toepassing of toepassingen wordt aangevraagd, en het energieverbruik en de invloed op de prestaties die zijn gekoppeld aan de locatieprovider. De huidige locatieprovider kan in de loop van de tijd veranderen, bijvoorbeeld wanneer een GPS-apparaat zijn satellietsignaal binnen verliest en een Wi-Fi triangulatieprovider de meest nauwkeurige provider op de computer wordt.
Als de huidige locatieprovider met prioriteit geen gegevens bevat wanneer de Start methode wordt aangeroepen, begint deze gegevens te verkrijgen. Als de machtigingen aan de client zijn verleend wanneer de gegevens beschikbaar komen, kunnen gegevens synchroon worden geopend en asynchroon worden geleverd als er gebeurtenissen worden verwerkt.
Als het Windows 7 Sensor- en Locatieplatform is uitgeschakeld wanneer Start wordt aangeroepen, retourneert Start onmiddellijk PositionChanged gebeurtenissen niet en bevat de locatie die wordt geretourneerd door de eigenschap Location van PositionUnknown.
Als de huidige locatieprovider met prioriteit gegevens heeft, is deze synchroon beschikbaar en wordt deze asynchroon geleverd als gebeurtenissen worden verwerkt.
Als de aanroepende toepassing geen machtigingen heeft om toegang te krijgen tot gegevens van een locatieprovider, wordt de gebruiker gevraagd een dialoogvenster te geven of te weigeren. Het dialoogvenster is modusloos.
Van toepassing op
Start(Boolean)
Start de verwerving van gegevens van de huidige locatieprovider. Met deze methode worden gebeurtenissen ingeschakeld PositionChanged en wordt toegang tot de Position eigenschap toegestaan.
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)
Parameters
- suppressPermissionPrompt
- Boolean
true om het machtigingsdialoogvenster te onderdrukken; false om desgewenst het dialoogvenster Machtigingen weer te geven als er nog geen machtigingen zijn verleend.