Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

GeoCoordinateWatcher-Klasse

.NET Framework (current version)
 

Veröffentlicht: Juli 2016

Gibt Positionsdaten, die auf Breiten- und Längenkoordinaten basieren.

Namespace:   System.Device.Location
Assembly:  System.Device (in System.Device.dll)

System.Object
  System.Device.Location.GeoCoordinateWatcher

[SecurityCriticalAttribute]
public class GeoCoordinateWatcher : IDisposable, INotifyPropertyChanged, 
	IGeoPositionWatcher<GeoCoordinate>

NameBeschreibung
System_CAPS_pubmethodGeoCoordinateWatcher()

Initialisiert eine neue Instanz der GeoCoordinateWatcher mit den Standardeinstellungen für die Genauigkeit.

System_CAPS_pubmethodGeoCoordinateWatcher(GeoPositionAccuracy)

Initialisiert eine neue Instanz der GeoCoordinateWatcher, Genauigkeitsstufe angegeben.

NameBeschreibung
System_CAPS_pubpropertyDesiredAccuracy

Die angeforderte Genauigkeitsstufe für die Positionsdaten, die vom GeoCoordinateWatcher bereitgestellt wird.

System_CAPS_pubpropertyMovementThreshold

Die Entfernung, die verschoben werden muss, in Metern, relativ zu die Koordinate aus der letzten PositionChanged Ereignis, bevor der Speicherortanbieter einen anderen löst PositionChanged Ereignis.

System_CAPS_pubpropertyPermission

Gibt an, ob der Zugriff auf Standortdaten von Anbietern Speicherort gewährt oder verweigert wurde.

System_CAPS_pubpropertyPosition

Ruft die GeoCoordinate Gibt den aktuellen Speicherort an.

System_CAPS_pubpropertyStatus

Ruft den aktuellen Status der GeoCoordinateWatcher.

NameBeschreibung
System_CAPS_pubmethodDispose()

Gibt alle von der aktuellen Instanz der GeoCoordinateWatcher-Klasse verwendeten Ressourcen frei.

System_CAPS_protmethodDispose(Boolean)

Gibt alle von der aktuellen Instanz der GeoCoordinateWatcher-Klasse verwendeten Ressourcen frei.

System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_protmethodFinalize()

Gibt Ressourcen frei und führt andere Bereinigungsvorgänge aus, bevor die GeoCoordinateWatcher durch die Garbagecollection wieder zugänglich gemacht wird.(Überschreibt Object.Finalize().)

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von „Object“.)

System_CAPS_protmethodOnPositionChanged(GeoPositionChangedEventArgs<GeoCoordinate>)

Wird aufgerufen, wenn ein PositionChanged Ereignis auftritt.

System_CAPS_protmethodOnPositionStatusChanged(GeoPositionStatusChangedEventArgs)

Wird aufgerufen, wenn ein StatusChanged Ereignis auftritt.

System_CAPS_protmethodOnPropertyChanged(String)

Wird aufgerufen, wenn eine Eigenschaft der GeoCoordinateWatcher ändert.

System_CAPS_pubmethodStart()

Initiiert die Erfassung von Daten aus der aktuellen. Diese Methode ermöglicht die PositionChanged Ereignisse und ermöglicht den Zugriff auf die Position Eigenschaft.

System_CAPS_pubmethodStart(Boolean)

Initiiert die Erfassung von Daten aus der aktuellen. Diese Methode ermöglicht die PositionChanged Ereignisse und ermöglicht den Zugriff auf die Position Eigenschaft.

System_CAPS_pubmethodStop()

Beendet die GeoCoordinateWatcher von Positionsdaten und Ereignisse.

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

System_CAPS_pubmethodTryStart(Boolean, TimeSpan)

Initiiert die Erfassung von Daten vom aktuellen. Diese Methode wird synchron auf.

NameBeschreibung
System_CAPS_pubeventPositionChanged

Gibt an, dass der Längen- oder Breitengrad der Positionsdaten geändert hat.

System_CAPS_pubeventStatusChanged

Gibt an, dass der Status der GeoCoordinateWatcher Objekt wurde geändert.

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_priveventINotifyPropertyChanged.PropertyChanged

Gibt an, dass die Status -Eigenschaft, die Position -Eigenschaft oder die Permission -Eigenschaft geändert hat.

System_CAPS_pubinterfaceSystem_CAPS_priveventIGeoPositionWatcher<GeoCoordinate>.PositionChanged

Gibt an, dass die Positionsdaten geändert hat.

System_CAPS_pubinterfaceSystem_CAPS_priveventIGeoPositionWatcher<GeoCoordinate>.StatusChanged

Gibt an, dass der Status des Anbieters Speicherort geändert hat.

Die GeoCoordinateWatcher -Klasse stellt koordinatenbasierte Positionsdaten vom aktuellen Speicherortanbieter. Die Priorisierung des aktuelle Speicherort-Anbieters wird am höchsten auf dem Computer, basierend auf einer Reihe von Faktoren wie Alter und Genauigkeit der Daten von allen Providern die Genauigkeit angeforderten Speicherort Applikationen und die Power-Nutzung und Leistung Auswirkungen Speicherort zugeordnet. Aktuellen kann mit der Zeit, z. B. ändern, wenn ein GPS-Gerät Satellitensignal verliert und ein Wi-Fi-Triangulationsanbieter genaueste Anbieter auf dem Computer.

Erstellen Sie zunächst Zugriff auf eine GeoCoordinateWatcher und rufen Sie Start oder TryStart So initiieren Sie die Erfassung von Daten vom aktuellen.

Die Status -Eigenschaft kann überprüft werden, um festzustellen, ob Daten verfügbar sind. Wenn Daten verfügbar sind, erhalten Sie den Speicherort ein Mal aus der Position -Eigenschaft, oder erhalten Sie kontinuierlichen Speicherort Updates durch Behandeln der PositionChanged Ereignis.

Die Permission, Status, und Position Eigenschaften Unterstützung INotifyPropertyChanged, sodass eine Anwendung Daten auf diese Eigenschaften binden kann.

In Windows 7 alle die System.Device.Location Klassen sind vollständig funktionsfähig, wenn ein Standortanbieter installiert ist und den Standort des Computers auflösen zu können.

System_CAPS_noteHinweis

Unter Windows 7 Starter Edition nur unterstützte ist der Standard-Speicherort-Anbieter in der Systemsteuerung, und ein Add-in installiert werden, um Breiten- und Längengrad angeben.

Hinweis   In Versionen von Windows vor Windows 7, die Folgendes zutrifft:

Das folgende Programm veranschaulicht das Erstellen einer GeoCoordinateWatcher und Abrufen von Daten mit einem Initialisierungstimeout zu starten. Der Code wird dann die Koordinaten des Speicherorts, falls bekannt.

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.");
            }
        }
    }
}

Das folgende Programm zeigt, wie kontinuierliche Speicherort Updates empfangen, indem abonnieren PositionChanged Ereignisse.

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
Verfügbar seit 4.0
Windows Phone Silverlight
Verfügbar seit 7.0

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: