System.Sensors.TCustomLocationSensor
Delphi
TCustomLocationSensor = class abstract(TCustomSensor)
C++
class PASCALIMPLEMENTATION TCustomLocationSensor : public TCustomSensor
Inhaltsverzeichnis
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 |
| ||
Optimize | Unterstützt | ||||
Regions | Unterstützt |
Siehe auch
- Mobile-Tutorial: Verwenden von Positionssensoren (iOS und Android)
- FMX.SensorInfo (Beispiel)
- Codefragmente für die mobile Entwicklung (Location-Codefragment)
- System.Sensors.Components.TLocationSensor
- System.Sensors.TCustomSensor
- System.Sensors.TCustomSensor.Start
- System.Sensors.TCustomSensor.Stop
- System.Sensors.TCustomLocationSensor.SensorType
- System.Sensors.TCustomLocationSensor.AvailableProperties
- System.Sensors.TCustomLocationSensor.Latitude
- System.Sensors.TCustomLocationSensor.Longitude
- System.Sensors.TCustomLocationSensor.Authorized
- System.Sensors.TCustomLocationSensor.Accuracy
- System.Sensors.TCustomLocationSensor.Distance