Informazioni sulla classe AnchorLocateCriteria

In questo articolo verranno illustrate le diverse opzioni che è possibile usare durante l'esecuzione di query su un ancoraggio. Si passerà alla classe AnchorLocateCriteria, alle relative opzioni e alle combinazioni di opzioni valide.

Individuare i criteri di ancoraggio

La classe AnchorLocateCriteria consente di eseguire query sul servizio per individuare ancoraggi creati in precedenza. Un oggetto AnchorLocateCriteria può essere usato per ogni watcher in qualsiasi momento. Ogni oggetto AnchorLocateCriteria deve includere esattamente una delle proprietà seguenti: Identificatori, NearAnchor o NearDevice. È possibile impostare proprietà aggiuntive, ad esempio Strategia, BypassCache e RequestedCategories , se necessario.

Proprietà

Definire esattamente una delle proprietà seguenti nel watcher:

Identifiers

Valore predefinito: matrice di stringhe vuota

Usando gli identificatori, è possibile definire un elenco di ID di ancoraggio per gli ancoraggi da individuare. Gli ID di ancoraggio vengono inizialmente restituiti all'utente dopo la corretta creazione dell'ancoraggio. Con identificatori specificati, AnchorLocateCriteria limita il set di ancoraggi richiesti agli ancoraggi con ID di ancoraggio corrispondenti. Questa proprietà viene specificata utilizzando una matrice di stringhe.

NearAnchor

Valore predefinito: non impostato

Usando NearAnchor, è possibile specificare che AnchorLocateCriteria limita il set di ancoraggi richiesti agli ancoraggi entro una distanza desiderata da un ancoraggio scelto. È necessario specificare questo ancoraggio scelto come ancoraggio di origine. È anche possibile impostare la distanza desiderata dall'ancoraggio di origine e il numero massimo di ancoraggi restituiti per limitare ulteriormente la ricerca. Questa proprietà viene specificata utilizzando un oggetto NearAnchorCriteria.

NearDevice

Valore predefinito: non impostato

Usando NearDevice, è possibile specificare che AnchorLocateCriteria limita il set di ancoraggi richiesti a quelli vicini alla posizione fisica del dispositivo. Tutti i sensori abilitati verranno usati per individuare gli ancoraggi intorno al dispositivo. Per avere la migliore possibilità di trovare ancoraggi, è necessario configurare SensorCapabilities per concedere alla sessione l'accesso a tutti i sensori appropriati. Per altre informazioni sulla configurazione e sull'uso di questa proprietà, vedere Rilocalizzazione grossolana - Ancoraggi nello spazio di Azure | Microsoft Docs e Come creare e individuare ancoraggi usando la rilocalizzazione grossolana in C#, Objective-C, Swift, Java, C++/NDK, C++/WinRT. Questa proprietà viene specificata utilizzando un oggetto NearDeviceCriteria.

Proprietà aggiuntive

BypassCache

Valore predefinito: false

Quando un ancoraggio è stato creato o trovato in una sessione, viene archiviato anche nella cache. Con questa proprietà impostata su false, qualsiasi query successiva nella stessa sessione restituirà il valore memorizzato nella cache. Non viene effettuata alcuna richiesta al servizio AsA.

RequestedCategories

Valore predefinito: proprietà | Spaziale

Questa proprietà viene utilizzata per determinare quali dati vengono restituiti da una query usando AnchorLocateCriteria. Il valore predefinito restituisce sia le proprietà che i dati spaziali, che non devono essere modificati se si desiderano entrambe le proprietà e i dati spaziali. Questa proprietà può essere specificata usando l'enumerazione AnchorDataCategory.

Valore Enumerazione AnchorDataCategory Dati restituiti
None Non vengono restituiti dati
Proprietà Vengono restituite proprietà di ancoraggio che includono AppProperties.
Spatial Vengono restituite informazioni spaziali su un ancoraggio.

Strategia

Valore predefinito: AnyStrategy

La strategia definisce ulteriormente il modo in cui devono essere posizionati gli ancoraggi. È possibile specificare la proprietà Strategy utilizzando un'enumerazione LocateStrategy.

Valore Enumerazione LocateStrategy Descrizione
AnyStrategy Questa strategia consente al sistema di usare combinazioni di strategie di VisualInformation e Relationship per trovare ancoraggi.
VisualInformation Questa strategia tenta di trovare ancoraggi associando le informazioni visive dall'ambiente corrente a quelle del footprint visivo dell'ancoraggio. Il footprint visivo di un ancoraggio fa riferimento alle informazioni visive attualmente associate all'ancoraggio. Queste informazioni visive vengono in genere raccolte ma non esclusivamente durante la creazione dell'ancoraggio. Attualmente, questa strategia è consentita solo in combinazione con le proprietà NearDevice o Identifiers.
Rapporto Questa strategia tenta di trovare ancoraggi usando ancoraggi connessi esistenti. Attualmente, questa strategia è consentita solo in combinazione con le proprietà NearAnchor o Identifiers. Se usato con la proprietà Identifiers, è necessario che, nella stessa sessione, l'utente abbia individuato in precedenza uno o più ancoraggi con relazioni connettive già stabilite agli ancoraggi i cui ID sono specificati nella matrice Identificatori.

Combinazioni valide delle proprietà LocateStrategy e AnchorLocateCriteria

Non tutte le combinazioni di proprietà Strategy e AnchorLocateCriteria sono attualmente consentite dal sistema. La tabella seguente illustra le combinazioni consentite:

Proprietà AnyStrategy Rapporto VisualInformation
Identifiers
NearAnchor ✓ (per impostazione predefinita relazione)
NearDevice

Passaggi successivi

Per altri esempi con la classe AnchorLocateCriteria, vedere Come creare e individuare ancoraggi usando Ancoraggi nello spazio di Azure.