System.Sensors.TCustomLocationSensor
Delphi
TCustomLocationSensor = class abstract(TCustomSensor)
C++
class PASCALIMPLEMENTATION TCustomLocationSensor : public TCustomSensor
Sommaire
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
class | public | System.Sensors.pas System.Sensors.hpp |
System.Sensors | System.Sensors |
Description
Utilisé pour déterminer les informations relatives à l'emplacement du périphérique.
Le détecteur d'emplacement doit être démarré en utilisant la méthode Start. Start notifie l'utilisateur de tout changement d'emplacement du périphérique et de toute autre information adéquate. Lorsque la méthode Stop est utilisée, le détecteur d'emplacement cesse de recevoir des mises à jour sur les informations d'emplacement.
Le détecteur d'emplacement peut déterminer les informations relatives à l'emplacement du périphérique grâce à une variété de méthodes spécifiques au matériel. La méthode utilisée fournit au détecteur d'emplacement un certain type. SensorType renvoie le type de détecteur d'emplacement.
Comme les détecteurs d'emplacement présentent des différences en terme de fonctionnalités et de quantités d'informations pouvant être fournies, la propriété AvailableProperties doit être interrogée pour déterminer quelles propriétés de l'objet détecteur d'emplacement sont utilisables et ont des valeurs valides. Par exemple, il est possible qu'un détecteur ne fournisse des valeurs que pour les propriétés Latitude et Longitude. Dans ce cas, AvailableProperties contiendra uniquement Latitude et Longitude. Le reste des propriétés relatives aux informations d'emplacement ne contiendra aucune valeur valide.
Un détecteur d'emplacement ne peut renvoyer des mises à jour sur les informations d'emplacement que s'il y a été autorisé. L'utilisateur est préalablement interrogé par le système d'exploitation ; ce dernier lui demande si le détecteur doit déterminer l'emplacement du périphérique. Authorized contient la valeur relative à la réponse de l'utilisateur sur le sujet.
Accuracy représente le niveau de précision auquel le détecteur localise géographiquement le périphérique par rapport au point géographique sur lequel il est situé.
Distance est la distance minimale à laquelle le périphérique doit se déplacer pour que le détecteur d'emplacement localise à nouveau le périphérique et renvoie les nouvelles informations relatives à l'emplacement.
Le détecteur d'emplacement a des propriétés qui permettent d'obtenir des informations sur l'emplacement du périphérique. Selon la plate-forme et le matériel du détecteur, les informations contenues dans ces propriétés peuvent ne pas être immédiatement disponibles à la demande, mais seulement lorsque le détecteur reçoit l'information.
Certains détecteurs fonctionnent de façon synchrone, d'autres de façon asynchrone. TCustomLocationSensor tente de surmonter les différences entre les détecteurs d'emplacement et les fonctionnalités spécifiques à la plate-forme et les unifie sous une interface simple d'utilisation. Alors que les requêtes de données provenant de détecteurs synchrones font attendre le thread appelant jusqu'à ce que les détecteurs obtiennent les informations, les requêtes de données provenant de détecteurs asynchrones ne bloquent pas les threads et laissent le flux de programme fonctionner normalement jusqu'à ce que le détecteur d'emplacement détermine les informations d'emplacement. A ce stade, le détecteur d'emplacement appelle une fonction de rappel pour obtenir des informations sur l'emplacement du périphérique.
Pour surmonter les différences entre ces deux comportements totalement opposés, TCustomLocationSensor fonctionne comme si le détecteur était synchrone. Lorsque la lecture d'une propriété et les classes de la plate-forme sous-jacente fonctionnent de façon asynchrone, TCustomLocationSensor renvoie une valeur en cache pour cette propriété, habituellement la dernière valeur déterminée. S'il n'y a pas eu de dernière valeur, une valeur par défaut est renvoyée jusqu'à ce que le détecteur détermine les informations d'emplacement.
Prise en charge de la plate-forme
Données du détecteur
Le tableau suivant contient des informations détaillées sur la prise en charge de la plate-forme pour les propriétés fournissant des données mesurées par un détecteur d'emplacement :
Elément | Android | IOS | OS X | Windows |
---|---|---|---|---|
Address1 | Pris en charge | |||
Address2 | Pris en charge | |||
Altitude | Pris en charge | Pris en charge | Pris en charge | Pris en charge |
City | Pris en charge | |||
CountryRegion | Pris en charge | |||
ErrorRadius | Pris en charge | |||
Latitude | Pris en charge | Pris en charge | Pris en charge | Pris en charge |
Longitude | Pris en charge | Pris en charge | Pris en charge | Pris en charge |
MagneticHeading | Pris en charge | Pris en charge | ||
PostalCode | Pris en charge | |||
Speed | Pris en charge | Pris en charge | Pris en charge | Pris en charge |
TrueHeading | Pris en charge | Pris en charge | Pris en charge |
Propriétés du détecteur
Le tableau suivant contient des informations détaillées sur la prise en charge de la plate-forme pour les propriétés que vous pouvez utiliser pour configurer et gérer un détecteur d'emplacement :
Elément | Android | IOS | OS X | Windows | Remarques |
---|---|---|---|---|---|
Accuracy | Pris en charge | Pris en charge | |||
Distance | Pris en charge | Pris en charge |
| ||
LocationChange | Pris en charge | Pris en charge |
| ||
Optimize | Pris en charge | ||||
Regions | Pris en charge |
Voir aussi
- Tutoriel mobile : Utilisation de détecteurs d'emplacement (iOS et Android)
- Exemple FMX.SensorInfo
- Extraits de code mobile (extrait Location)
- 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