GeoCoordinateWatcher.Start Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.