你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

了解 AnchorLocateCriteria 类

在本文中,你将了解查询定位点时可使用的不同选项。 我们将仔细查看 AnchorLocateCriteria 类、其选项和有效的选项组合。

定位点定位条件

AnchorLocateCriteria 类可帮助你在服务中查询以前创建的定位点。 每个观察程序随时可以使用一个 AnchorLocateCriteria 对象。 每个 AnchorLocateCriteria 对象必须仅包括以下属性之一IdentifiersNearAnchorNearDevice。 如果需要,可以设置其他属性(例如 StrategyBypassCacheRequestedCategories)。

属性

仅在观察程序中定义以下属性之一

标识符

默认值:空字符串数组

使用 Identifiers,可以定义要定位的定位点的定位点 ID 列表。 在成功创建定位点后,最初会返回定位点 ID。 在指定 Identifiers 的情况下,AnchorLocateCriteria 会将请求的定位点集合限制为具有匹配定位点 ID 的定位点。 使用字符串数组指定此属性。

NearAnchor

默认值:未设置

使用 NearAnchor,你可以指定 AnchorLocateCriteria 限制请求的定位点集合为需要与所选定位点保持的距离内的定位点。 必须提供此所选定位点作为源定位点。 还可以设置需要与源定位点保持的距离和返回的最大定位点数量,以进一步限制搜索。 使用 NearAnchorCriteria 对象指定此属性。

NearDevice

默认值:未设置

使用 NearDevice,可以指定 AnchorLocateCriteria 限制请求的定位点集合为靠近设备物理位置的定位点。 任何启用的传感器都将用于帮助发现设备周围的定位点。 为了提升查找定位点的几率,你应该配置 SensorCapabilities,以便会话可以访问所有合适的传感器。 有关设置和使用此属性的详细信息,请参阅粗糙重新局部化 - Azure 空间定位点 | Microsoft Docs 和如何在 C#Objective-CSwiftJavaC++/NDKC++/WinRT 中使用粗糙重新局部化创建和定位定位点。 使用 NearDeviceCriteria 对象指定此属性。

其他属性

BypassCache

默认值:false

在会话中创建或找到定位点后,它也会存储在缓存中。 如果将此属性设置为 false,则同一会话中的任何后续查询都将返回缓存的值。 不会向 ASA 服务发出请求。

RequestedCategories

默认值:属性 |空间

此属性用于确定使用 AnchorLocateCriteria 从查询返回的数据。 默认值返回属性和空间数据,如果同时需要属性和空间数据,则不应更改此值。 可以使用 AnchorDataCategory 枚举指定此属性。

AnchorDataCategory 枚举值 返回的数据
不返回任何数据
属性 返回包含 AppProperties 的定位点属性。
空间 返回有关定位点的空间信息。

策略

默认值:AnyStrategy

策略进一步定义应如何定位定位点。 可以使用 LocateStrategy 枚举指定 Strategy 属性。

LocateStrategy 枚举值 说明
AnyStrategy 此策略允许系统使用 VisualInformation 和关系策略的组合来查找定位点。
VisualInformation 此策略通过将当前周围环境中的可视化信息与定位点的视觉对象的内存占用情况匹配,尝试查找定位点。 定位点的视觉对象内存占用情况是指当前与定位点相关的视觉信息。 在创建定位点时,通常不会以独占方式收集此视觉信息。 目前,只允许将此策略与 NearDevice 或 Identifiers 属性结合使用。
关系 此策略将尝试使用现有的连接的定位点查找定位点。 目前,只允许将此策略与 NearAnchor 或 Identifiers 属性结合使用。 与 Identifiers 属性一起使用时,要求同一会话中的用户之前应已定位好定位点,且与 Identifiers 数组中指定了其 ID 的定位点建立了连接关系。

LocateStrategy 和 AnchorLocateCriteria 属性的有效组合

并非所有的 Strategy 和 AnchorLocateCriteria 属性组合都获得了系统允许。 下表显示了允许的组合:

properties AnyStrategy 关系 VisualInformation
标识符
NearAnchor ✓(将默认为 Relationship)
NearDevice

后续步骤

有关使用 AnchorLocateCriteria 类的更多示例,请参阅如何使用 Azure 空间定位点创建和定位定位点