GeoCoordinateWatcher.Start Methode

Definitie

Start de verwerving van gegevens van de huidige locatieprovider. Met deze methode worden gebeurtenissen ingeschakeld PositionChanged en wordt toegang tot de Position eigenschap toegestaan.

Overloads

Name Description
Start()

Start de verwerving van gegevens van de huidige locatieprovider. Met deze methode worden gebeurtenissen ingeschakeld PositionChanged en wordt toegang tot de Position eigenschap toegestaan.

Start(Boolean)

Start de verwerving van gegevens van de huidige locatieprovider. Met deze methode worden gebeurtenissen ingeschakeld PositionChanged en wordt toegang tot de Position eigenschap toegestaan.

Start()

Start de verwerving van gegevens van de huidige locatieprovider. Met deze methode worden gebeurtenissen ingeschakeld PositionChanged en wordt toegang tot de Position eigenschap toegestaan.

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

Implementeringen

Voorbeelden

Het volgende programma verwerkt de eerste locatie-update die zich voordoet nadat Start deze is aangeroepen.

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

Opmerkingen

Als u deze methode aanroept, wordt de verwerving van gegevens van de huidige locatieprovider gestart. De huidige locatieprovider wordt geselecteerd op basis van factoren zoals de leeftijd en nauwkeurigheid van de gegevens van alle providers, de nauwkeurigheid die door de toepassing of toepassingen wordt aangevraagd, en het energieverbruik en de invloed op de prestaties die zijn gekoppeld aan de locatieprovider. De huidige locatieprovider kan in de loop van de tijd veranderen, bijvoorbeeld wanneer een GPS-apparaat zijn satellietsignaal binnen verliest en een Wi-Fi triangulatieprovider de meest nauwkeurige provider op de computer wordt.

Als de huidige locatieprovider met prioriteit geen gegevens bevat wanneer de Start methode wordt aangeroepen, begint deze gegevens te verkrijgen. Als de machtigingen aan de client zijn verleend wanneer de gegevens beschikbaar komen, kunnen gegevens synchroon worden geopend en asynchroon worden geleverd als er gebeurtenissen worden verwerkt.

Als het Windows 7 Sensor- en Locatieplatform is uitgeschakeld wanneer Start wordt aangeroepen, retourneert Start onmiddellijk PositionChanged gebeurtenissen niet en bevat de locatie die wordt geretourneerd door de eigenschap Location van PositionUnknown.

Als de huidige locatieprovider met prioriteit gegevens heeft, is deze synchroon beschikbaar en wordt deze asynchroon geleverd als gebeurtenissen worden verwerkt.

Als de aanroepende toepassing geen machtigingen heeft om toegang te krijgen tot gegevens van een locatieprovider, wordt de gebruiker gevraagd een dialoogvenster te geven of te weigeren. Het dialoogvenster is modusloos.

Van toepassing op

Start(Boolean)

Start de verwerving van gegevens van de huidige locatieprovider. Met deze methode worden gebeurtenissen ingeschakeld PositionChanged en wordt toegang tot de Position eigenschap toegestaan.

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)

Parameters

suppressPermissionPrompt
Boolean

true om het machtigingsdialoogvenster te onderdrukken; false om desgewenst het dialoogvenster Machtigingen weer te geven als er nog geen machtigingen zijn verleend.

Implementeringen

Van toepassing op