GeoCoordinateWatcher.Start Metod

Definition

Initiera förvärvet av data från den aktuella platsprovidern. Den här metoden aktiverar PositionChanged händelser och ger åtkomst till egenskapen Position .

Överlagringar

Name Description
Start()

Initiera förvärvet av data från den aktuella platsprovidern. Den här metoden aktiverar PositionChanged händelser och ger åtkomst till egenskapen Position .

Start(Boolean)

Initiera förvärvet av data från den aktuella platsprovidern. Den här metoden aktiverar PositionChanged händelser och ger åtkomst till egenskapen Position .

Start()

Initiera förvärvet av data från den aktuella platsprovidern. Den här metoden aktiverar PositionChanged händelser och ger åtkomst till egenskapen Position .

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

Implementeringar

Exempel

Följande program hanterar den första platsuppdateringen som inträffar efter Start anropas.

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

Kommentarer

Om du anropar den här metoden initieras insamlingen av data från den aktuella platsprovidern. Den aktuella platsprovidern väljs baserat på faktorer som ålder och noggrannhet för data från alla leverantörer, den noggrannhet som programmet eller programmen begär samt den effekt på energiförbrukningen och prestandan som är associerad med platsprovidern. Den aktuella platsleverantören kan till exempel ändras med tiden när en GPS-enhet förlorar sin satellitsignal inomhus och en Wi-Fi trianguleringsprovider blir den mest exakta leverantören på datorn.

Om den aktuella prioriterade platsprovidern inte har data när Start metoden anropas börjar den hämta data. Om behörigheterna har beviljats klienten när data blir tillgängliga kan data nås synkront och levereras asynkront om händelser hanteras.

Om Windows 7-sensorn och platsplattformen inaktiveras när Start anropas kommer Start omedelbart att returneras, PositionChanged händelser aktiveras inte och platsen som returneras av egenskapen Location för Position innehåller Unknown.

Om den aktuella prioriterade platsprovidern har data blir den tillgänglig synkront omedelbart och levereras asynkront om händelser hanteras.

Om det anropande programmet inte har behörighet att komma åt data från en platsprovider uppmanas användaren med en dialogruta att antingen bevilja eller neka behörighet. Dialogrutan kommer att vara lägeslös.

Gäller för

Start(Boolean)

Initiera förvärvet av data från den aktuella platsprovidern. Den här metoden aktiverar PositionChanged händelser och ger åtkomst till egenskapen 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)

Parametrar

suppressPermissionPrompt
Boolean

true för att utelämna behörighetsdialogrutan. false om du vill visa dialogrutan behörighet om behörigheter inte redan har beviljats.

Implementeringar

Gäller för