Sdílet prostřednictvím


GeoCoordinateWatcher.Start Metoda

Definice

Zahajte získávání dat od aktuálního poskytovatele umístění. Tato metoda umožňuje PositionChanged události a umožňuje přístup k Position vlastnosti.

Přetížení

Name Description
Start()

Zahajte získávání dat od aktuálního poskytovatele umístění. Tato metoda umožňuje PositionChanged události a umožňuje přístup k Position vlastnosti.

Start(Boolean)

Zahajte získávání dat od aktuálního poskytovatele umístění. Tato metoda umožňuje PositionChanged události a umožňuje přístup k Position vlastnosti.

Start()

Zahajte získávání dat od aktuálního poskytovatele umístění. Tato metoda umožňuje PositionChanged události a umožňuje přístup k Position vlastnosti.

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í, která nastane po Start zavolání.

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 zahájíte získávání dat od aktuálního poskytovatele umístění. Aktuální poskytovatel umístění je vybrán na základě faktorů, jako je věk a přesnost dat od všech poskytovatelů, přesnost, kterou aplikace nebo aplikace požaduje, a vliv spotřeby energie a výkonu spojeného s poskytovatelem umístění. Aktuální poskytovatel polohy se může v průběhu času změnit, například když gps zařízení ztratí satelitní signál uvnitř a Wi-Fi triangulační poskytovatel se stane nejpřesnějším poskytovatelem počítače.

Pokud aktuální zprostředkovatel umístění s prioritou nemá data při Start zavolání metody, začne získávat data. Pokud byla klientovi udělena oprávnění, jakmile budou data k dispozici, můžou se k datům přistupovat synchronně a asynchronně, pokud se zpracovávají události.

Pokud je Start při zavolání zakázaná platforma senzoru a umístění systému Windows 7, Start okamžitě se vrátí, PositionChanged události nebudou vyvolány a umístění vrácené Location vlastností Position bude obsahovat Unknown.

Pokud aktuální zprostředkovatel umístění s prioritou obsahuje data, bude k dispozici synchronně okamžitě a bude doručen asynchronně, pokud se zpracovávají události.

Pokud volající aplikace nemá oprávnění pro přístup k datům od poskytovatele umístění, zobrazí se uživateli výzva k udělení nebo zamítnutí oprávnění pomocí dialogového okna. Dialogové okno bude bez režimu.

Platí pro

Start(Boolean)

Zahajte získávání dat od aktuálního poskytovatele umístění. Tato metoda umožňuje PositionChanged události a umožňuje přístup k Position vlastnosti.

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 potlačování dialogového okna oprávnění; false pokud oprávnění ještě nebyla udělena, zobrazí se dialogové okno oprávnění.

Implementuje

Platí pro