(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

GeoCoordinateWatcher-Klasse

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

System.Object
  System.Device.Location.GeoCoordinateWatcher

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

public class GeoCoordinateWatcher : IDisposable, 
	INotifyPropertyChanged, IGeoPositionWatcher<GeoCoordinate>

Der GeoCoordinateWatcher-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeGeoCoordinateWatcher()Initialisiert eine neue Instanz von GeoCoordinateWatcher mit Standardeinstellungen für die Genauigkeit.
Öffentliche MethodeGeoCoordinateWatcher(GeoPositionAccuracy)Initialisiert eine neue Instanz von GeoCoordinateWatcher, wobei die Genauigkeitsstufe angegeben ist.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftDesiredAccuracyDie angeforderte Genauigkeitsstufe für die vom GeoCoordinateWatcher bereitgestellten Positionsdaten.
Öffentliche EigenschaftMovementThresholdDie Bewegungsentfernung in Metern relativ zur Koordinate des letzten PositionChanged-Ereignisses, die zurückgelegt werden muss, bevor der Ortungsanbieter ein weiteres PositionChanged-Ereignis auslöst.
Öffentliche EigenschaftPermissionGibt an, ob die Berechtigung für den Zugriff auf Positionsdaten von Ortungsanbietern gewährt oder verweigert wurde.
Öffentliche EigenschaftPositionRuft die GeoCoordinate ab, die die aktuelle Position angibt.
Öffentliche EigenschaftStatusRuft den aktuellen Status des GeoCoordinateWatcher ab.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeDispose()Gibt alle von der aktuellen Instanz der GeoCoordinateWatcher-Klasse verwendeten Ressourcen frei.
Geschützte MethodeDispose(Boolean)Gibt alle von der aktuellen Instanz der GeoCoordinateWatcher-Klasse verwendeten Ressourcen frei.
Öffentliche MethodeEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte MethodeFinalizeGibt Ressourcen frei und führt andere Bereinigungsvorgänge durch, bevor das GeoCoordinateWatcher durch die Garbage Collection wieder zugänglich gemacht wird. (Überschreibt Object.Finalize().)
Öffentliche MethodeGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte MethodeMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Geschützte MethodeOnPositionChangedWird aufgerufen, wenn ein PositionChanged-Ereignis auftritt.
Geschützte MethodeOnPositionStatusChangedWird aufgerufen, wenn ein StatusChanged-Ereignis auftritt.
Geschützte MethodeOnPropertyChangedWird aufgerufen, wenn eine Eigenschaft des GeoCoordinateWatcher geändert wird.
Öffentliche MethodeStart()Initiiert die Erfassung von Daten vom aktuellen Ortungsanbieter. Diese Methode aktiviert PositionChanged-Ereignisse und ermöglicht den Zugriff auf die Position-Eigenschaft.
Öffentliche MethodeStart(Boolean)Initiiert die Erfassung von Daten vom aktuellen Ortungsanbieter. Diese Methode aktiviert PositionChanged-Ereignisse und ermöglicht den Zugriff auf die Position-Eigenschaft.
Öffentliche MethodeStopBeendet die Bereitstellung von Positionsdaten und Ortungsereignissen durch den GeoCoordinateWatcher.
Öffentliche MethodeToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Öffentliche MethodeTryStartInitiiert die Erfassung von Daten vom aktuellen Ortungsanbieter. Die Rückgabe der Methode erfolgt synchron.
Zum Seitenanfang

  NameBeschreibung
Öffentliches EreignisPositionChangedGibt an, dass sich die Breiten- oder Längenkoordinate der Positionsdaten geändert hat.
Öffentliches EreignisStatusChangedGibt an, dass sich der Status des GeoCoordinateWatcher-Objekts geändert hat.
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivates EreignisIGeoPositionWatcher<GeoCoordinate>.PositionChangedGibt an, dass die Positionsdaten geändert wurden.
Explizite SchnittstellenimplementierungPrivates EreignisIGeoPositionWatcher<GeoCoordinate>.StatusChangedGibt an, dass der Status des Ortungsanbieters geändert wurde.
Explizite SchnittstellenimplementierungPrivates EreignisINotifyPropertyChanged.PropertyChangedGibt an, dass die Status-Eigenschaft, die Position-Eigenschaft oder die Permission-Eigenschaft geändert wurde.
Zum Seitenanfang

Die GeoCoordinateWatcher-Klasse stellt koordinatenbasierte Standortdaten des aktuellen Standortanbieters zur Verfügung. Der aktuelle Positionsanbieter wird auf Grundlage mehrerer Faktoren am höchsten auf dem Computer priorisiert. Hierzu zählen das Alter und die Genauigkeit der Daten von allen Anbietern, die von Positionsanwendungen angeforderte Genauigkeit und der Energieverbrauch und die Leistungsauswirkungen des Positionsanbieters. Der aktuelle Speicherortanbieter ändert sich möglicherweise im Lauf der Zeit, wenn beispielsweise ein GPS-Gerät im Haus sein Satellitensignal verliert, und ein Wi-Fi-Triangulationsanbieter der genauste Anbieter auf dem Computer wird.

Um mit dem Zugriff auf Speicherortdaten zu beginnen, erstellen Sie einen GeoCoordinateWatcher, und rufen Sie Start oder TryStart auf, um das Abrufen der Daten vom aktuellen Speicherortanbieter zu initiieren.

Die Status-Eigenschaft kann überprüft werden, um zu bestimmen, ob Daten verfügbar sind. Wenn Daten verfügbar sind, können Sie einmal den Speicherort aus der Position-Eigenschaft abrufen oder fortlaufende Speicherortupdates durch Behandeln des PositionChanged-Ereignisses abrufen.

Die Eigenschaften Permission, Status und Position unterstützen INotifyPropertyChanged, damit eine Anwendung Datenbindung an diese Eigenschaften vornehmen kann.

In Windows 7 sind alle System.Device.Location-Klassen vollständig funktional, wenn ein Standortanbieter installiert ist und den Standort des Computers auflösen kann.

HinweisHinweis

Unter Windows 7 Starter Edition ist der einzige unterstützte Speicherortanbieter der Standardspeicherortanbieter in der Systemsteuerung, und ein Add-In muss installiert sein, um die Breite und Länge anzugeben.

Hinweis   In Versionen von Windows vor Windows 7 gelten die folgenden Bedingungen:

Das folgende Programm veranschaulicht, wie ein GeoCoordinateWatcher erstellt und die Datensammlung mit einem Initialisierungstimeout gestartet wird. Im Code werden dann die Koordinaten des Speicherorts gedruckt, wenn 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 veranschaulicht, wie fortlaufende Ortungsupdates durch das Abonnieren von PositionChanged-Ereignissen empfangen werden.


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

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4

.NET Framework Client Profile

Unterstützt in: 4

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft