GeoCoordinateWatcher.Start Metodo

Definizione

Avvia l'acquisizione dei dati dal provider di posizione corrente.Initiate the acquisition of data from the current location provider. Questo metodo abilita eventi PositionChanged e consente l'accesso alla proprietà Position.This method enables PositionChanged events and allows access to the Position property.

Overload

Start()

Avvia l'acquisizione dei dati dal provider di posizione corrente.Initiate the acquisition of data from the current location provider. Questo metodo abilita eventi PositionChanged e consente l'accesso alla proprietà Position.This method enables PositionChanged events and allows access to the Position property.

Start(Boolean)

Avvia l'acquisizione dei dati dal provider di posizione corrente.Initiate the acquisition of data from the current location provider. Questo metodo abilita eventi PositionChanged e consente l'accesso alla proprietà Position.This method enables PositionChanged events and allows access to the Position property.

Start()

Avvia l'acquisizione dei dati dal provider di posizione corrente.Initiate the acquisition of data from the current location provider. Questo metodo abilita eventi PositionChanged e consente l'accesso alla proprietà Position.This method enables PositionChanged events and allows access to the Position property.

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

Implementazioni

Esempi

Il programma seguente gestisce il primo aggiornamento del percorso che si Start verifica dopo la chiamata a.The following program handles the first location update that occurs after Start is called.

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

Commenti

La chiamata a questo metodo avvierà l'acquisizione di dati dal provider di posizione corrente.Calling this method will initiate the acquisition of data from the current location provider. Il provider di posizione corrente è selezionato in base a fattori quali l'età e l'accuratezza dei dati di tutti i provider, l'accuratezza richiesta dall'applicazione o le applicazioni e il consumo di energia e l'effetto sulle prestazioni associati al provider di posizione. .The current location provider is selected based on factors such as the age and accuracy of the data from all providers, the accuracy requested by the application or applications, and the power consumption and performance impact associated with the location provider. Il provider di posizione corrente può variare nel tempo, ad esempio, quando un dispositivo GPS perde il suo interno di segnale satellite e un provider di triangolazione Wi-Fi diventa il provider più accurato nel computer.The current location provider might change over time, for instance, when a GPS device loses its satellite signal indoors and a Wi-Fi triangulation provider becomes the most accurate provider on the computer.

Se il provider di percorsi con priorità corrente non contiene dati quando viene Start chiamato il metodo, inizierà ad acquisire i dati.If the current prioritized location provider does not have data when the Start method is called, it will start to acquire data. Se le autorizzazioni sono state concesse al client quando i dati diventano disponibili, è possibile accedere ai dati in modo sincrono e vengono recapitati in modo asincrono se gli eventi vengono gestiti.If the permissions have been granted to the client when the data becomes available, data can be accessed synchronously, and will be delivered asynchronously if events are being handled.

Se la piattaforma sensore e posizione di Windows 7 è Start disabilitata quando viene chiamato, Start restituirà PositionChanged immediatamente, gli eventi non verranno Location generati e il percorso restituito dalla proprietà di Position conterrà Unknown.If the Windows 7 Sensor and Location platform is disabled when Start is called, Start will immediately return, PositionChanged events will not be raised, and the location returned by the Location property of Position will contain Unknown.

Se il provider di percorsi con priorità corrente ha dati, sarà immediatamente disponibile in modo sincrono e verrà recapitato in modo asincrono se gli eventi vengono gestiti.If the current prioritized location provider does have data, it will be available synchronously immediately, and will be delivered asynchronously if events are being handled.

Se l'applicazione chiamante non dispone delle autorizzazioni per accedere ai dati da un provider di percorsi, all'utente verrà richiesta una finestra di dialogo per concedere o negare l'autorizzazione.If the calling application does not have permissions to access data from a location provider, the user will be prompted with a dialog box to either grant or deny permission. La finestra di dialogo non sarà modale.The dialog box will be modeless.

Start(Boolean)

Avvia l'acquisizione dei dati dal provider di posizione corrente.Initiate the acquisition of data from the current location provider. Questo metodo abilita eventi PositionChanged e consente l'accesso alla proprietà Position.This method enables PositionChanged events and allows access to the Position property.

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)

Parametri

suppressPermissionPrompt
Boolean

true per eliminare la finestra di dialogo dell'autorizzazione; false per mostrare facoltativamente la finestra di dialogo dell'autorizzazione se le autorizzazioni non sono già state concesse.true to suppress the permission dialog box; false to optionally show the permission dialog box if permissions have not already been granted.

Implementazioni

Si applica a