Partilhar via


GeoCoordinateWatcher.Start Método

Definição

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.

Implementações

Aplica-se a