Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

GeoCoordinateWatcher, classe

Fournit des données de localisation basées sur des coordonnées de latitude et de longitude.

System.Object
  System.Device.Location.GeoCoordinateWatcher

Espace de noms :  System.Device.Location
Assembly :  System.Device (dans System.Device.dll)
public class GeoCoordinateWatcher : IDisposable, 
	INotifyPropertyChanged, IGeoPositionWatcher<GeoCoordinate>

Le type GeoCoordinateWatcher expose les membres suivants.

  NomDescription
Méthode publiqueGeoCoordinateWatcher()Initialise une nouvelle instance de GeoCoordinateWatcher avec les paramètres de précision par défaut.
Méthode publiqueGeoCoordinateWatcher(GeoPositionAccuracy)Initialise une nouvelle instance de GeoCoordinateWatcher avec un niveau de précision.
Début
  NomDescription
Propriété publiqueDesiredAccuracyNiveau de précision demandé pour les données de localisation fournies par GeoCoordinateWatcher.
Propriété publiqueMovementThresholdDistance de déplacement, en mètres, par rapport à la coordonnée du dernier événement PositionChanged, avant que le fournisseur de localisation ne déclenche un autre événement PositionChanged.
Propriété publiquePermissionIndique si l'autorisation d'accès aux données de localisation issues des fournisseurs de localisation a été accordée ou refusée.
Propriété publiquePositionObtient le GeoCoordinate qui indique la localisation actuelle.
Propriété publiqueStatusObtient l'état actuel de GeoCoordinateWatcher.
Début
  NomDescription
Méthode publiqueDispose()Libère toutes les ressources qui sont utilisées par l'instance actuelle de la classe GeoCoordinateWatcher.
Méthode protégéeDispose(Boolean)Libère toutes les ressources utilisées par l'instance actuelle de la classe GeoCoordinateWatcher.
Méthode publiqueEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode protégéeFinalizeLibère des ressources et exécute d'autres opérations de nettoyage avant la récupération du GeoCoordinateWatcher par le garbage collection. (Substitue Object.Finalize().)
Méthode publiqueGetHashCodeSert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégéeMemberwiseCloneCrée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode protégéeOnPositionChangedAppelée lorsqu'un événement PositionChanged se produit.
Méthode protégéeOnPositionStatusChangedAppelée lorsqu'un événement StatusChanged se produit.
Méthode protégéeOnPropertyChangedAppelée lorsqu'une propriété de GeoCoordinateWatcher est modifiée.
Méthode publiqueStart()Initie l'acquisition des données à partir du fournisseur de localisation actuel. Cette méthode active les événements PositionChanged et permet d'accéder à la propriété Position.
Méthode publiqueStart(Boolean)Initie l'acquisition des données à partir du fournisseur de localisation actuel. Cette méthode active les événements PositionChanged et permet d'accéder à la propriété Position.
Méthode publiqueStopFait en sorte que GeoCoordinateWatcher cesse de fournir des données de localisation et des événements.
Méthode publiqueToStringRetourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Méthode publiqueTryStartLance l'acquisition des données issues du fournisseur de localisation actif. Cette méthode est retournée de façon synchrone.
Début
  NomDescription
Événement publicPositionChangedIndique que la latitude ou la longitude des données de localisation a changé.
Événement publicStatusChangedIndique que l'état de l'objet GeoCoordinateWatcher a changé.
Début
  NomDescription
Implémentation d'interface expliciteÉvénement privéIGeoPositionWatcher<GeoCoordinate>.PositionChangedIndique que les données de localisation ont changé.
Implémentation d'interface expliciteÉvénement privéIGeoPositionWatcher<GeoCoordinate>.StatusChangedIndique que l'état du fournisseur de localisation a changé.
Implémentation d'interface expliciteÉvénement privéINotifyPropertyChanged.PropertyChangedIndique que la propriété Status, la propriété Position ou la propriété Permission a été modifiée.
Début

La classe GeoCoordinateWatcher fournit des données de localisation basées sur des coordonnées à partir du fournisseur de localisation actuel. Le fournisseur de localisation actuel, ayant actuellement la priorité la plus élevée sur l'ordinateur, en fonction de plusieurs facteurs tels que l'ancienneté et l'exactitude des données de tous les fournisseurs, l'exactitude requise par les applications de localisation, ainsi que la consommation d'énergie et l'impact sur les performances associées au fournisseur de localisation. Le fournisseur de localisation actuel peut changer avec le temps, par exemple, lorsqu'un périphérique GPS perd son signal satellite intérieur et qu'un fournisseur de triangulation Wi-Fi devient le fournisseur le plus exact sur l'ordinateur.

Pour commencer à accéder aux données, créez un GeoCoordinateWatcher et appelez Start ou TryStart pour démarrer l'acquisition de données à partir du fournisseur de localisation actuel.

La propriété Status peut être vérifiée pour déterminer si les données sont disponibles. Si des données sont disponibles, vous pouvez obtenir l'emplacement une fois de la propriété Position, ou recevoir des mises à jour continues de l'emplacement en gérant l'événement PositionChanged.

Les propriétés Permission, Status et Position prennent en charge INotifyPropertyChanged, afin qu'une application puisse lier ces propriétés aux données.

Dans Windows 7, toutes les classes System.Device.Location sont complètement fonctionnelles si un fournisseur de localisation est installé et capable de résoudre l'emplacement de l'ordinateur.

RemarqueRemarque

Dans Windows 7 Édition Starter, le seul fournisseur de localisation pris en charge est le fournisseur de localisation par défaut du Panneau de configuration, et un complément doit être installé pour spécifier la latitude et la longitude.

Remarque   Dans les versions de Windows antérieures à Windows 7, les conditions suivantes s'appliquent :

Le programme suivant montre comment créer un GeoCoordinateWatcher et commencer à acquérir des données à l'aide d'un délai d'initialisation. Le code imprime ensuite les coordonnées de l'emplacement, si elles sont connues.


using System;
using System.Device.Location;

namespace GetLocationProperty
{
    class Program
    {
        static void Main(string[] args)
        {
            GetLocationProperty();
        }

        static void GetLocationProperty()
        {
            GeoCoordinateWatcher watcher = new GeoCoordinateWatcher();

            // Do not suppress prompt, and wait 1000 milliseconds to start.
            watcher.TryStart(false, TimeSpan.FromMilliseconds(1000));

            GeoCoordinate coord = watcher.Position.Location;

            if (coord.IsUnknown != true)
            {
                Console.WriteLine("Lat: {0}, Long: {1}",
                    coord.Latitude,
                    coord.Longitude);
            }
            else
            {
                Console.WriteLine("Unknown latitude and longitude.");
            }
        }
    }
}


Le programme suivant montre comment recevoir des mises à jour continues de l'emplacement en s'abonnant à des événements PositionChanged.


using System;
using System.Device.Location;

namespace GetLocationEvent
{
    class Program
    {
        static void Main(string[] args)
        {
            CLocation myLocation = new CLocation();
            myLocation.GetLocationEvent();
            Console.WriteLine("Enter any key to quit.");
            Console.ReadLine();            
        }
        class CLocation
        {
            GeoCoordinateWatcher watcher;

            public void GetLocationEvent()
            {
                this.watcher = new GeoCoordinateWatcher();
                this.watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);
                bool started = this.watcher.TryStart(false, TimeSpan.FromMilliseconds(2000));
                if (!started)
                {
                    Console.WriteLine("GeoCoordinateWatcher timed out on start.");
                }
            }

            void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
            {
                PrintPosition(e.Position.Location.Latitude, e.Position.Location.Longitude);
            }

            void PrintPosition(double Latitude, double Longitude)
            {
                Console.WriteLine("Latitude: {0}, Longitude {1}", Latitude, Longitude);
            }
        }
    }
}


.NET Framework

Pris en charge dans : 4.5, 4

.NET Framework Client Profile

Pris en charge dans : 4

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.