Основные сведения о классе 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.