Descripción de la clase AnchorLocateCriteria
En este artículo aprenderá las diferentes opciones que puede usar al consultar un delimitador. Analizaremos la clase AnchorLocateCriteria, sus opciones y las combinaciones de opciones válidas.
Criterios de búsqueda de delimitadores
La clase AnchorLocateCriteria ayuda a consultar el servicio para los delimitadores creados previamente. Se puede usar un objeto AnchorLocateCriteria por cada monitor en cualquier momento. Cada objeto AnchorLocateCriteria debe incluir exactamente una de las siguientes propiedades: Identifiers, NearAnchor o NearDevice. Si lo desea, puede establecer propiedades adicionales como Strategy, BypassCache y RequestedCategories.
Propiedades
Defina exactamente una de las siguientes propiedades en el monitor:
Identificadores
Valor predeterminado: matriz de cadenas vacía
Si usa Identifiers, puede definir una lista de identificadores de delimitador para los delimitadores que quiera buscar. Los identificadores de delimitador se devuelven inicialmente después de la creación correcta del delimitador. Con Identifiers especificado, AnchorLocateCriteria restringe el conjunto de delimitadores solicitados a los delimitadores con identificadores de delimitador coincidentes. Esta propiedad se especifica mediante una matriz de cadenas.
NearAnchor
Valor predeterminado: sin establecer
Si usa NearAnchor, puede especificar que AnchorLocateCriteria restrinja el conjunto de delimitadores solicitados a los delimitadores dentro de una distancia deseada fuera de un delimitador elegido. Debe proporcionar este delimitador elegido como delimitador de origen. También puede establecer la distancia deseada fuera del delimitador de origen y el número máximo de delimitadores devueltos para limitar aún más la búsqueda. Esta propiedad se especifica mediante un objeto NearAnchorCriteria.
NearDevice
Valor predeterminado: sin establecer
Si usa NearDevice, puede especificar que AnchorLocateCriteria restrinja el conjunto de delimitadores solicitados a los que estén cerca de la ubicación física del dispositivo. Cualquier sensor habilitado se usará para ayudar a detectar delimitadores alrededor del dispositivo. Para aumentar al máximo la probabilidad de encontrar delimitadores, debe configurar SensorCapabilities para que la sesión tenga acceso a todos los sensores adecuados. Para obtener más información sobre la configuración y el uso de esta propiedad, consulte Relocalización general: Azure Spatial Anchors | Microsoft Docs y Creación y localización de delimitadores mediante relocalización general en C#, Objective-C, Swift, Java, c++/NDK y c++/WinRT. Esta propiedad se especifica mediante un objeto NearAnchorCriteria.
Propiedades adicionales
BypassCache
Valor predeterminado: false
Cuando se crea o se encuentra un delimitador en una sesión, también se almacena en la memoria caché. Con esta propiedad establecida en false, cualquier consulta posterior en la misma sesión devolverá el valor almacenado en caché. No se realiza ninguna solicitud al servicio ASA.
RequestedCategories
Valor predeterminado: propiedades | datos espaciales
Esta propiedad se usa para determinar qué datos se devuelven en una consulta con AnchorLocateCriteria. El valor predeterminado devuelve las propiedades y los datos espaciales, por lo que no debe modificarse si se busca obtener tanto propiedades como datos espaciales. Esta propiedad se puede especificar mediante la enumeración AnchorDataCategory.
Valor de enumeración AnchorDataCategory | Datos devueltos |
---|---|
Ninguno | No se devuelven datos |
Propiedades | Se devuelven propiedades de delimitador, incluidas AppProperties. |
Espacial | Se devuelve información espacial sobre un delimitador. |
Estrategia
Valor predeterminado: AnyStrategy
Strategy define aún más cómo deben ubicarse los delimitadores. La propiedad Strategy se puede especificar mediante una enumeración LocateStrategy.
Valor de enumeración LocateStrategy | Descripción |
---|---|
AnyStrategy | Esta estrategia permite al sistema usar combinaciones de estrategias VisualInformation y Relationship para buscar delimitadores. |
VisualInformation | Esta estrategia intenta buscar delimitadores comparando la información visual del entorno actual con la de la superficie visual del delimitador. La superficie visual de un delimitador hace referencia a la información visual asociada actualmente al delimitador. Esta información visual se suele recopilar durante la creación del delimitador, aunque no siempre es así. Actualmente solo es posible usar esta estrategia en combinación con las propiedades NearDevice o Identifiers. |
Relación | Esta estrategia intenta encontrar delimitadores mediante el uso de delimitadores conectados existentes. Actualmente solo es posible usar esta estrategia en combinación con las propiedades NearAnchor o Identifiers. Cuando se usa con la propiedad Identifiers, es necesario que, en la misma sesión, el usuario haya encontrado previamente un delimitador con relaciones de conexión ya establecidas con los delimitadores cuyos identificadores se hayan especificado en la matriz Identifiers. |
Combinaciones válidas de las propiedades LocateStrategy y AnchorLocateCriteria
Actualmente el sistema no permite todas las combinaciones de las propiedades Strategy y AnchorLocateCriteria. En la siguiente tabla se muestran las combinaciones permitidas:
Propiedad | AnyStrategy | Relación | VisualInformation |
---|---|---|---|
Identificadores | ✓ | ✓ | ✓ |
NearAnchor | ✓ (valor predeterminado: "Relación") | ✓ | |
NearDevice | ✓ | ✓ |
Pasos siguientes
Consulte Cómo crear y ubicar delimitadores con Azure Spatial Anchors para ver más ejemplos de uso de la clase AnchorLocateCriteria.