Основные сведения о классе AnchorLocateCriteria

В этой статье вы узнаете о различных параметрах, которые можно использовать при запросе привязки. Мы рассмотрим класс AnchorLocateCriteria, его параметры и их допустимые сочетания.

Критерии поиска привязки

Класс AnchorLocateCriteria позволяет запрашивать в службе привязки, созданные ранее. Один объект AnchorLocateCriteria может использоваться для наблюдателя в любое время. Каждый объект AnchorLocateCriteria должен содержать только одно из следующих свойств: Identifiers, NearAnchor или NearDevice. При необходимости можно задать дополнительные свойства, такие как Strategy, BypassCache и RequestedCategories.

Свойства

Определите в наблюдателе только одно из следующих свойств:

Identifiers

Значение по умолчанию: пустой массив строк

С помощью свойства Identifiers можно определить список идентификаторов для привязок, которые вы хотите найти. Идентификаторы привязок изначально возвращаются после успешного создания привязок. Когда указаны идентификаторы, AnchorLocateCriteria позволяет запрашиваться только привязки с совпадающими идентификаторами привязок. Это свойство указывается с помощью массива строк.

NearAnchor

Значение по умолчанию: не задано

С помощью свойства NearAnchor можно указать, что AnchorLocateCriteria должен запрашивать привязки только в пределах определенного расстояния от выбранной привязки. Выбранную привязку необходимо указать как исходную. Вы также можете указать желаемое расстояние от исходной привязки и максимальное число возвращаемых привязок, чтобы дополнительно ограничить поиск. Это свойство определяется с помощью объекта NearAnchorCriteria.

NearDevice

Значение по умолчанию: не задано

С помощью свойства NearDevice можно указать, что AnchorLocateCriteria должен запрашивать только привязки, близкие к физическому местонахождению устройства. Все включенные датчики будут использоваться для обнаружения привязок рядом с вашим устройством. Чтобы улучшить поиск привязок, необходимо настроить SensorCapabilities так, чтобы обеспечить сеансу доступ ко всем соответствующим датчикам. Дополнительные сведения о настройке и использовании этого свойства см. в статьях Грубая локализация. Пространственные привязки Azure | Документация Майкрософт и Создание и обнаружение привязок с помощью грубой локализации в C#, Objective-C, Swift, Java, C++/NDK и C++/WinRT. Это свойство определяется с помощью объекта NearDeviceCriteria.

Дополнительные свойства

BypassCache

Значение по умолчанию: false

Созданная или обнаруженная в сеансе привязка также сохраняется в кэше. Если этому свойству присвоено значение false, все последующие запросы в том же сеансе будут возвращать кэшированное значение. Запрос в службу ASA не отправляется.

RequestedCategories

Значение по умолчанию: Properties | Spatial

Это свойство используется для определения того, какие данные возвращаются из запроса, с помощью AnchorLocateCriteria. Значение по умолчанию возвращает и свойства, и пространственные данные, но не следует его изменять, если вам нужны и свойства, и пространственные данные. Это свойство можно указать с помощью перечисления AnchorDataCategory.

Значение перечисления AnchorDataCategory Возвращаемые данные
None Никакие данные не возвращаются
Свойства Возвращаются свойства привязки, включая AppProperties.
Отслеживание Возвращаются пространственные сведения о привязке.

Стратегия

Значение по умолчанию: AnyStrategy

Свойство Strategy определяет, как должны располагаться привязки. Свойство Strategy можно указать, используя перечисление LocateStrategy.

Значение перечисления LocateStrategy Description
AnyStrategy Эта стратегия позволяет системе использовать комбинации стратегий VisualInformation и Relationship для поиска привязок.
VisualInformation Эта стратегия ищет привязки, сопоставляя визуальные сведения из текущего окружения с визуальными элементами привязок. Визуальный элемент привязки — это визуальная информация, которая связана с привязкой в текущий момент. Обычно эта визуальная информация не собирается во время создания привязки. Сейчас эту стратегия можно использовать только со свойствами NearDevice и Identifiers.
Отношение Эта стратегия ищет привязки, используя уже существующие подключенные привязки. Сейчас эту стратегия можно использовать только со свойствами NearAnchor и Identifiers. При использовании со свойством Identifiers необходимо, чтобы в том же сеансе пользователь заранее разместил привязку или привязки с уже установленными связями с привязками, идентификаторы которых указаны в массиве Identifiers.

Допустимые сочетания свойств LocateStrategy и AnchorLocateCriteria

Не все сочетания свойств Strategy и AnchorLocateCriteria допускаются системой в данный момент. В следующей таблице показаны допустимые комбинации:

Свойство AnyStrategy Отношение VisualInformation
Identifiers
NearAnchor ✓ (по умолчанию используется связь)
NearDevice

Следующие шаги

Дополнительные примеры использования класса AnchorLocateCriteria см. в статье Создание и поиск привязок с помощью пространственных привязок Azure.