GeoCoordinateWatcher.Start Metoda

Definice

Iniciuje pořízení dat z aktuálního poskytovatele umístění.Initiate the acquisition of data from the current location provider. Tato metoda umožňuje PositionChanged události a umožňuje přístup k Position Vlastnosti.This method enables PositionChanged events and allows access to the Position property.

Přetížení

Start()

Iniciuje pořízení dat z aktuálního poskytovatele umístění.Initiate the acquisition of data from the current location provider. Tato metoda umožňuje PositionChanged události a umožňuje přístup k Position Vlastnosti.This method enables PositionChanged events and allows access to the Position property.

Start(Boolean)

Iniciuje pořízení dat z aktuálního poskytovatele umístění.Initiate the acquisition of data from the current location provider. Tato metoda umožňuje PositionChanged události a umožňuje přístup k Position Vlastnosti.This method enables PositionChanged events and allows access to the Position property.

Start()

Iniciuje pořízení dat z aktuálního poskytovatele umístění.Initiate the acquisition of data from the current location provider. Tato metoda umožňuje PositionChanged události a umožňuje přístup k Position Vlastnosti.This method enables PositionChanged events and allows access to the Position property.

public:
 virtual void Start();
public void Start ();
abstract member Start : unit -> unit
override this.Start : unit -> unit
Public Sub Start ()

Implementuje

Příklady

Následující program zpracovává první aktualizaci umístění, ke které dojde po Start volání metody.The following program handles the first location update that occurs after Start is called.

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

Poznámky

Voláním této metody dojde k zahájení získání dat z aktuálního poskytovatele umístění.Calling this method will initiate the acquisition of data from the current location provider. Aktuální poskytovatel umístění je vybraný na základě faktorů, jako je například stáří a přesnost dat ze všech poskytovatelů, přesnost požadovaná aplikací nebo aplikacemi a spotřeba energie a dopad na výkon spojený s poskytovatelem umístění.The current location provider is selected based on factors such as the age and accuracy of the data from all providers, the accuracy requested by the application or applications, and the power consumption and performance impact associated with the location provider. Aktuální poskytovatel umístění se může v průběhu času měnit, například když zařízení GPS ztratí své dvířka satelitního signálu a poskytovatel typu triangulace Wi-Fi se v počítači změní na nejpřesnější poskytovatele.The current location provider might change over time, for instance, when a GPS device loses its satellite signal indoors and a Wi-Fi triangulation provider becomes the most accurate provider on the computer.

Pokud stávající poskytovatel umístění s určením priorit nemá data při Start volání metody, začne získat data.If the current prioritized location provider does not have data when the Start method is called, it will start to acquire data. Pokud byla udělena oprávnění klientovi, když budou data k dispozici, lze k datům získat přístup synchronně a budou se doručovat asynchronně, pokud jsou události zpracovávány.If the permissions have been granted to the client when the data becomes available, data can be accessed synchronously, and will be delivered asynchronously if events are being handled.

Pokud je rozhraní snímače a platforma systému Windows 7 zakázané, když Start je zavolána aplikace, Start okamžitě se vrátí, PositionChanged události nebudou vyvolány a umístění vrácené Location vlastností objektu Position bude obsahovat Unknown .If the Windows 7 Sensor and Location platform is disabled when Start is called, Start will immediately return, PositionChanged events will not be raised, and the location returned by the Location property of Position will contain Unknown.

Pokud má aktuální prioritní poskytovatel umístění data, bude okamžitě k dispozici synchronně a bude se doručovat asynchronně, pokud jsou události zpracovávány.If the current prioritized location provider does have data, it will be available synchronously immediately, and will be delivered asynchronously if events are being handled.

Pokud volající aplikace nemá oprávnění k přístupu k datům z poskytovatele umístění, zobrazí se uživateli dialogové okno s žádostí o udělení nebo odmítnutí oprávnění.If the calling application does not have permissions to access data from a location provider, the user will be prompted with a dialog box to either grant or deny permission. Dialogové okno bude nemodální.The dialog box will be modeless.

Start(Boolean)

Iniciuje pořízení dat z aktuálního poskytovatele umístění.Initiate the acquisition of data from the current location provider. Tato metoda umožňuje PositionChanged události a umožňuje přístup k Position Vlastnosti.This method enables PositionChanged events and allows access to the Position property.

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)

Parametry

suppressPermissionPrompt
Boolean

true pro potlačení dialogového okna oprávnění; false Pokud chcete volitelně zobrazit dialogové okno oprávnění, pokud oprávnění ještě nejsou udělená.true to suppress the permission dialog box; false to optionally show the permission dialog box if permissions have not already been granted.

Implementuje

Platí pro