Freigeben über


GeoCoordinateWatcher.Start Methode

Definition

Initiieren Sie den Erwerb von Daten vom aktuellen Standortanbieter. Diese Methode ermöglicht PositionChanged Ereignisse und ermöglicht den Zugriff auf die Position Eigenschaft.

Überlädt

Name Beschreibung
Start()

Initiieren Sie den Erwerb von Daten vom aktuellen Standortanbieter. Diese Methode ermöglicht PositionChanged Ereignisse und ermöglicht den Zugriff auf die Position Eigenschaft.

Start(Boolean)

Initiieren Sie den Erwerb von Daten vom aktuellen Standortanbieter. Diese Methode ermöglicht PositionChanged Ereignisse und ermöglicht den Zugriff auf die Position Eigenschaft.

Start()

Initiieren Sie den Erwerb von Daten vom aktuellen Standortanbieter. Diese Methode ermöglicht PositionChanged Ereignisse und ermöglicht den Zugriff auf die Position Eigenschaft.

public:
 virtual void Start();
public void Start();
abstract member Start : unit -> unit
override this.Start : unit -> unit
Public Sub Start ()

Implementiert

Beispiele

Das folgende Programm behandelt das erste Positionsupdate, das nach Start dem Aufruf erfolgt.

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

Hinweise

Durch Aufrufen dieser Methode wird der Erwerb von Daten vom aktuellen Standortanbieter initiiert. Der aktuelle Standortanbieter wird basierend auf Faktoren wie Alter und Genauigkeit der Daten von allen Anbietern, der von der Anwendung oder Anwendungen angeforderten Genauigkeit sowie der Energieverbrauch und Leistungsauswirkungen des Standortanbieters ausgewählt. Der aktuelle Standortanbieter kann sich beispielsweise im Laufe der Zeit ändern, wenn ein GPS-Gerät sein Satellitensignal im Innenbereich verliert und ein Wi-Fi Triangulationsanbieter der genaueste Anbieter auf dem Computer wird.

Wenn der aktuelle priorisierte Standortanbieter beim Aufrufen der Methode keine Daten enthält, beginnt er mit dem Start Abrufen von Daten. Wenn dem Client die Berechtigungen erteilt wurden, wenn die Daten verfügbar sind, können synchron auf Daten zugegriffen werden und asynchron übermittelt werden, wenn Ereignisse behandelt werden.

Wenn die Windows 7-Sensor- und Standortplattform deaktiviert ist, wenn Start sie aufgerufen wird, Start werden die Ereignisse sofort zurückgegeben, PositionChanged die Ereignisse werden nicht ausgelöst, und die von der Location Eigenschaft Position zurückgegebene Position enthält Unknown.

Wenn der aktuelle priorisierte Standortanbieter Daten enthält, ist er synchron verfügbar und wird asynchron übermittelt, wenn Ereignisse behandelt werden.

Wenn die aufrufende Anwendung nicht über berechtigungen für den Zugriff auf Daten von einem Standortanbieter verfügt, wird der Benutzer mit einem Dialogfeld aufgefordert, entweder die Berechtigung zu erteilen oder zu verweigern. Das Dialogfeld ist moduslos.

Gilt für:

Start(Boolean)

Initiieren Sie den Erwerb von Daten vom aktuellen Standortanbieter. Diese Methode ermöglicht PositionChanged Ereignisse und ermöglicht den Zugriff auf die Position Eigenschaft.

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)

Parameter

suppressPermissionPrompt
Boolean

true zum Unterdrücken des Berechtigungsdialogfelds; false um optional das Berechtigungsdialogfeld anzuzeigen, wenn berechtigungen noch nicht erteilt wurden.

Implementiert

Gilt für: