Condividi tramite


GeoCoordinateWatcher.Start Metodo

Definizione

Avviare l'acquisizione dei dati dal provider di posizione corrente. Questo metodo abilita PositionChanged gli eventi e consente l'accesso Position alla proprietà .

Overload

Nome Descrizione
Start()

Avviare l'acquisizione dei dati dal provider di posizione corrente. Questo metodo abilita PositionChanged gli eventi e consente l'accesso Position alla proprietà .

Start(Boolean)

Avviare l'acquisizione dei dati dal provider di posizione corrente. Questo metodo abilita PositionChanged gli eventi e consente l'accesso Position alla proprietà .

Start()

Avviare l'acquisizione dei dati dal provider di posizione corrente. Questo metodo abilita PositionChanged gli eventi e consente l'accesso Position alla proprietà .

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

Implementazioni

Esempio

Il programma seguente gestisce il primo aggiornamento del percorso che si verifica dopo Start la chiamata.

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 dei dati dal provider di posizione corrente. Il provider di posizioni corrente viene selezionato in base a fattori quali l'età e l'accuratezza dei dati di tutti i provider, l'accuratezza richiesta dall'applicazione o dalle applicazioni e l'impatto di consumo energetico e prestazioni associati al provider di posizione. Il provider di posizione corrente potrebbe cambiare nel tempo, ad esempio, quando un dispositivo GPS perde il suo segnale satellite al chiuso e un provider di triangolazione Wi-Fi diventa il provider più accurato sul computer.

Se il provider di percorsi con priorità corrente non dispone di dati quando viene chiamato il Start metodo, inizierà ad acquisire i dati. Se le autorizzazioni sono state concesse al client quando i dati diventano disponibili, è possibile accedere ai dati in modo sincrono e verranno recapitati in modo asincrono se gli eventi vengono gestiti.

Se la piattaforma Sensore e posizione di Windows 7 è disabilitata quando Start viene chiamato, Start restituirà immediatamente, PositionChanged gli eventi non verranno generati e la posizione restituita dalla Location proprietà di Position conterrà Unknown.

Se il provider di percorsi con priorità corrente dispone di dati, sarà disponibile immediatamente e verrà recapitato in modo asincrono se gli eventi vengono gestiti.

Se l'applicazione chiamante non dispone delle autorizzazioni per accedere ai dati da un provider di posizioni, all'utente verrà visualizzata una finestra di dialogo per concedere o negare l'autorizzazione. La finestra di dialogo sarà senza modalità.

Si applica a

Start(Boolean)

Avviare l'acquisizione dei dati dal provider di posizione corrente. Questo metodo abilita PositionChanged gli eventi e consente l'accesso Position alla proprietà .

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 delle autorizzazioni; false per visualizzare facoltativamente la finestra di dialogo delle autorizzazioni se le autorizzazioni non sono già state concesse.

Implementazioni

Si applica a