GeoCoordinateWatcher.Start Método

Definição

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.

Implementações

Aplica-se a