System.Sensors.TCustomLocationSensor

De RAD Studio API Documentation
Aller à : navigation, rechercher

System.Sensors.TCustomSensorSystem.TObjectTCustomLocationSensor

Delphi

TCustomLocationSensor = class abstract(TCustomSensor)

C++

class PASCALIMPLEMENTATION TCustomLocationSensor : public TCustomSensor

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
  • Sur iOS, si vous sélectionnez un changement d'emplacement minime (TLocationChangeType.lctSmall), vous pouvez utiliser en plus Distance pour spécifier une valeur plus précise.
  • Sur OS X, préférez la propriété plus précise Distance.
Optimize Pris en charge
  • Sur iOS et OS X, le type du détecteur d'emplacement que vous avez choisi, comme GPS ou Lookup, détermine le niveau d'optimisation.
Regions Pris en charge

Voir aussi