GeoCoordinateWatcher.Start Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Inicie a aquisição de dados junto do fornecedor de localização atual. Este método permite PositionChanged eventos e o acesso à Position propriedade.
Sobrecargas
| Name | Description |
|---|---|
| Start() |
Inicie a aquisição de dados junto do fornecedor de localização atual. Este método permite PositionChanged eventos e o acesso à Position propriedade. |
| Start(Boolean) |
Inicie a aquisição de dados junto do fornecedor de localização atual. Este método permite PositionChanged eventos e o acesso à Position propriedade. |
Start()
Inicie a aquisição de dados junto do fornecedor de localização atual. Este método permite PositionChanged eventos e o acesso à Position propriedade.
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 seguinte trata da primeira atualização de localização que ocorre após Start 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
Observações
Chamar este método iniciará a aquisição de dados junto do fornecedor de localização atual. O fornecedor de localização atual é selecionado com base em fatores como a idade e precisão dos dados de todos os fornecedores, a precisão solicitada pela aplicação ou aplicações, e o impacto no consumo de energia e desempenho associados ao fornecedor de localização. O fornecedor de localização atual pode mudar ao longo do tempo, por exemplo, quando um dispositivo GPS perde o sinal de satélite em interiores e um fornecedor de triangulação Wi-Fi se torna o fornecedor mais preciso no computador.
Se o fornecedor de localização prioritária atual não tiver dados quando o Start método for chamado, começará a adquirir dados. Se as permissões forem concedidas ao cliente quando os dados se tornam disponíveis, os dados podem ser acedidos de forma síncrona e serão entregues de forma assíncrona se os eventos estiverem a ser tratados.
Se a plataforma Windows 7 Sensor and Location for desativada quando Start for chamada, Start retornará imediatamente, os eventos PositionChanged não serão ativados, e a localização devolvida pela propriedade Location de Position conterá Unknown.
Se o fornecedor de localização prioritária atual tiver dados, estes estarão disponíveis de forma síncrona imediata e serão entregues de forma assíncrona se os eventos estiverem a ser tratados.
Se a aplicação que chama não tiver permissões para aceder a dados de um fornecedor de localização, o utilizador será solicitado, através de uma caixa de diálogo, a conceder ou negar permissão. A caixa de diálogo será sem modo.
Aplica-se a
Start(Boolean)
Inicie a aquisição de dados junto do fornecedor de localização atual. Este método permite PositionChanged eventos e o acesso à Position propriedade.
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ões; false para mostrar opcionalmente a caixa de diálogo de permissões se as permissões ainda não tiverem sido concedidas.