Partager via


GeoCoordinateWatcher.Start Méthode

Définition

Lancez l’acquisition de données à partir du fournisseur d’emplacement actuel. Cette méthode active les PositionChanged événements et autorise l’accès à la Position propriété.

Surcharges

Nom Description
Start()

Lancez l’acquisition de données à partir du fournisseur d’emplacement actuel. Cette méthode active les PositionChanged événements et autorise l’accès à la Position propriété.

Start(Boolean)

Lancez l’acquisition de données à partir du fournisseur d’emplacement actuel. Cette méthode active les PositionChanged événements et autorise l’accès à la Position propriété.

Start()

Lancez l’acquisition de données à partir du fournisseur d’emplacement actuel. Cette méthode active les PositionChanged événements et autorise l’accès à la Position propriété.

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

Implémente

Exemples

Le programme suivant gère la première mise à jour d’emplacement qui se produit après Start l’appel.

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

Remarques

L’appel de cette méthode lance l’acquisition de données à partir du fournisseur d’emplacement actuel. Le fournisseur d’emplacement actuel est sélectionné en fonction de facteurs tels que l’âge et la précision des données de tous les fournisseurs, la précision demandée par l’application ou les applications, ainsi que l’impact sur la consommation d’énergie et les performances associés au fournisseur d’emplacement. Le fournisseur d’emplacement actuel peut changer au fil du temps, par exemple, lorsqu’un appareil GPS perd son signal satellite à l’intérieur et qu’un fournisseur de triangulation Wi-Fi devient le fournisseur le plus précis sur l’ordinateur.

Si le fournisseur d’emplacement hiérarchisé actuel n’a pas de données lorsque la Start méthode est appelée, elle commence à acquérir des données. Si les autorisations ont été accordées au client lorsque les données sont disponibles, les données sont accessibles de manière synchrone et sont remises de manière asynchrone si des événements sont gérés.

Si la plateforme capteur et emplacement Windows 7 est désactivée lorsqu’elle Start est appelée, Start retourne immédiatement les événements, PositionChanged les événements ne sont pas déclenchés et l’emplacement retourné par la Location propriété de Position la propriété contient Unknown.

Si le fournisseur d’emplacement hiérarchisé actuel a des données, il sera disponible de manière synchrone immédiatement et sera remis de façon asynchrone si les événements sont gérés.

Si l’application appelante n’a pas les autorisations nécessaires pour accéder aux données à partir d’un fournisseur d’emplacement, l’utilisateur est invité à utiliser une boîte de dialogue pour accorder ou refuser l’autorisation. La boîte de dialogue est sans mode.

S’applique à

Start(Boolean)

Lancez l’acquisition de données à partir du fournisseur d’emplacement actuel. Cette méthode active les PositionChanged événements et autorise l’accès à la Position propriété.

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)

Paramètres

suppressPermissionPrompt
Boolean

true pour supprimer la boîte de dialogue d’autorisation ; false pour afficher éventuellement la boîte de dialogue d’autorisation si les autorisations n’ont pas déjà été accordées.

Implémente

S’applique à