System.Sensors.TCustomLocationSensor

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

System.Sensors.TCustomSensorSystem.TObjectTCustomLocationSensor

Delphi

TCustomLocationSensor = class abstract(TCustomSensor)

C++

class PASCALIMPLEMENTATION TCustomLocationSensor : public TCustomSensor

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
class public
System.Sensors.pas
System.Sensors.hpp
System.Sensors System.Sensors


Beschreibung

Ermittelt die Positionsdaten des Geräts.

Der Positionssensor muss mit der Methode Start gestartet werden. Start teilt dem Benutzer Änderungen der Position des Geräts und andere Informationen mit. Mit der Methode Stop wird der Empfang von Positionsaktualisierungen durch den Positionssensor beendet.

Der Positionssensor kann die Positionsdaten des Geräts über verschiedene hardwarespezifische Methoden ermitteln. Durch die verwendete Methode erhält der Positionssensor einen bestimmten Typ. SensorType gibt den Typ des Positionssensors zurück.

Da Positionssensoren hinsichtlich ihrer Funktionalität und der Daten, die sie bereitstellen können, unterschiedlich sind, muss die Eigenschaft AvailableProperties zum Ermitteln der tatsächlichen Eigenschaften im Positionssensorobjekt, die verwendet werden können und gültige Werte haben, abgefragt werden. Beispielsweise könnte es einen Sensor geben, der nur die Eigenschaften "Latitude" und "Longitude" bereitstellen kann. In diesem Fall enthält AvailableProperties nur Latitude und Longitude. Die übrigen positionsrelevanten Eigenschaften enthalten keine gültigen Werte.

Ein Positionssensor kann Aktualisierungen der Positionsdaten nur zurückgeben, wenn er dazu autorisiert ist. Der Benutzer muss dazu im Betriebssystem angeben, ob der Sensor die Position des Geräts ermitteln darf. Authorized enthält die diesbezügliche Angabe des Benutzers.

Accuracy repräsentiert die Genauigkeit, mit der der Sensor das Gerät geografisch ortet, relativ zu dem geografischen Punkt, an dem sich das Gerät tatsächlich befindet.

Distance ist die Entfernung, die das Gerät mindestens bewegt werden muss, damit der Positionssensor eine neue Ortung des Geräts vornimmt und die neuen Positionsdaten zurückgibt.

Der Positionssensor verfügt über Eigenschaften, mit denen Positionsdaten des Geräts ermittelt werden können. Abhängig von der Plattform und der Sensorhardware sind die Daten in diesen Eigenschaften möglicherweise nicht sofort bei Anforderung verfügbar, sondern erst, wenn der Sensor die tatsächlichen Daten empfängt.

Einige Sensoren arbeiten synchron, andere asynchron. TCustomLocationSensor versucht, diese Unterschiede zwischen Positionssensoren und plattformspezifischen Funktionen abzufangen und Positionssensoren in einer einfach zu verwendenden Benutzeroberfläche zu vereinheitlichen. Bei Datenanforderungen von synchronen Sensoren muss der aufrufende Thread warten, bis die Daten ermittelt werden können, bei Datenanforderungen von asynchronen Sensoren werden die Threads dagegen nicht blockiert und der Programmablauf kann normal fortgesetzt werden, bis der Positionssensor die Positionsdaten ermittelt. An diesem Punkt ruft der Positionssensor eine Callback-Funktion auf, um die Daten über die Position des Geräts zu ermitteln.

Um die Unterschiede zwischen diesem entgegengesetzten Verhalten auszugleichen, arbeitet TCustomLocationSensor so, als ob der Sensor synchron wäre. Wenn die zugrunde liegenden Plattformklassen asynchron arbeiten, gibt TCustomLocationSensor beim Lesen einer Eigenschaft einen zwischengespeicherten Wert für diese Eigenschaft, in der Regel den zuletzt ermittelten Wert, zurück. Wenn kein letzter Wert vorhanden ist, dann wird so lange ein Standardwert zurückgegeben, bis der Sensor die Positionsdaten ermittelt hat.

Plattformunterstützung

Sensordaten

Die folgende Tabelle enthält Einzelheiten zur Plattformunterstützung für Eigenschaften, die Daten von einem Positionssensor bereitstellen:

Element Android iOS OS X Windows
Adresse1 Unterstützt
Adresse2 Unterstützt
Altitude Unterstützt Unterstützt Unterstützt Unterstützt
City Unterstützt
CountryRegion Unterstützt
ErrorRadius Unterstützt
Latitude Unterstützt Unterstützt Unterstützt Unterstützt
Longitude Unterstützt Unterstützt Unterstützt Unterstützt
MagneticHeading Unterstützt Unterstützt
PostalCode Unterstützt
Speed Unterstützt Unterstützt Unterstützt Unterstützt
TrueHeading Unterstützt Unterstützt Unterstützt

Sensoreigenschaften

Die folgende Tabelle enthält Einzelheiten zur Plattformunterstützung für Eigenschaften, mit denen Sie einen Positionssensor konfigurieren und verwalten können:

Element Android iOS OS X Windows Bemerkungen
Accuracy Unterstützt Unterstützt
Distance Unterstützt Unterstützt
LocationChange Unterstützt Unterstützt
  • Wenn Sie unter iOS eine kleine Positionsänderung (TLocationChangeType.lctSmall) auswählen, können Sie zusätzlich Distance verwenden, um einen genaueren Wert festzulegen.
  • Verwenden Sie unter OS X stattdessen die genauere Eigenschaft Distance.
Optimize Unterstützt
  • Unter iOS und OS X bestimmt der Typ des Positionssensors, den Sie auswählen, wie z. B. GPS oder Lookup, den Optimierungsgrad.
Regions Unterstützt

Siehe auch