GeoCoordinateWatcher.Start Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Inicie a aquisição de dados do localizador atual. Esse método habilita eventos PositionChanged e permite o acesso à propriedade Position.
Sobrecargas
Start() |
Inicie a aquisição de dados do localizador atual. Esse método habilita eventos PositionChanged e permite o acesso à propriedade Position. |
Start(Boolean) |
Inicie a aquisição de dados do localizador atual. Esse método habilita eventos PositionChanged e permite o acesso à propriedade Position. |
Start()
Inicie a aquisição de dados do localizador atual. Esse método habilita eventos PositionChanged e permite o acesso à propriedade Position.
public:
virtual void Start();
public void Start ();
abstract member Start : unit -> unit
override this.Start : unit -> unit
Public Sub Start ()
Implementações
Exemplos
O programa a seguir manipula a primeira atualização de local que ocorre depois Start de ser chamada.
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
Comentários
Chamar esse método iniciará a aquisição de dados do provedor de localização atual. O provedor de localização atual é selecionado com base em fatores como a idade e a precisão dos dados de todos os provedores, a precisão solicitada pelo aplicativo ou aplicativos e o consumo de energia e o impacto no desempenho associados ao provedor de localização. O provedor de localização atual pode mudar ao longo do tempo, por exemplo, quando um dispositivo GPS perde seu sinal de satélite dentro de casa e um provedor de triangulação Wi-Fi se torna o provedor mais preciso no computador.
Se o provedor de localização priorizado atual não tiver dados quando o Start método for chamado, ele começará a adquirir dados. Se as permissões tiverem sido concedidas ao cliente quando os dados estiverem disponíveis, os dados poderão ser acessados de forma síncrona e serão entregues de forma assíncrona se os eventos estiverem sendo tratados.
Se a plataforma Sensor e Localização do Windows 7 estiver desabilitada quando Start for chamada, Start retornará imediatamente, PositionChanged os eventos não serão gerados e o local retornado pela Location propriedade de Position conterá Unknown.
Se o provedor de localização priorizado atual tiver dados, ele estará disponível de forma síncrona imediatamente e será entregue de forma assíncrona se os eventos estiverem sendo tratados.
Se o aplicativo de chamada não tiver permissões para acessar dados de um provedor de localização, o usuário será solicitado com uma caixa de diálogo a conceder ou negar permissão. A caixa de diálogo será modelagem.
Aplica-se a
Start(Boolean)
Inicie a aquisição de dados do localizador atual. Esse método habilita eventos PositionChanged e permite o acesso à propriedade Position.
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)
Parâmetros
- suppressPermissionPrompt
- Boolean
true
para suprimir a caixa de diálogo de permissão; false
para mostrar opcionalmente a caixa de diálogo de permissão, caso as permissões ainda não tenham sido concedidas.