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.