Entendendo a classe AnchorLocateCriteria

Neste artigo, você aprenderá as diferentes opções que você pode usar ao consultar uma âncora. Vamos analisar a classe AnchorLocateCriteria, suas opções e combinações de opções válidas.

Critérios de localização de âncora

A classe AnchorLocateCriteria ajuda você a consultar o serviço para âncoras criadas anteriormente. Um objeto AnchorLocateCriteria pode ser usado por observador a qualquer momento. Cada objeto AnchorLocateCriteria deve incluir exatamente uma das seguintes propriedades: Identifiers, NearAnchor ou NearDevice. Propriedades adicionais, como Strategy, BypassCache e RequestedCategories, podem ser definidas, se desejado.

Propriedades

Defina exatamente uma das seguintes propriedades no observador:

Identifiers

Valor padrão: matriz de cadeia de caracteres vazia

Usando Identificadores, você pode definir uma lista de IDs de âncora para âncoras que deseja localizar. Os IDs de âncora são inicialmente devolvidos a você após a criação bem-sucedida da âncora. Com Identifiers especificado, AnchorLocateCriteria restringe o conjunto de âncoras solicitadas a âncoras com IDs de âncora correspondentes. Esta propriedade é especificada usando uma matriz de cadeia de caracteres.

NearAnchor

Valor padrão: não definido

Usando NearAnchor, você pode especificar que AnchorLocateCriteria restringe o conjunto de âncoras solicitadas a âncoras dentro de uma distância desejada de uma âncora escolhida. Você deve fornecer essa âncora escolhida como âncora de origem. Você também pode definir a distância desejada da âncora de origem e o número máximo de âncoras retornadas, para limitar ainda mais a pesquisa. Essa propriedade é especificada usando um objeto NearAnchorCriteria.

NearDevice

Valor padrão: não definido

Usando NearDevice, você pode especificar que AnchorLocateCriteria restringe o conjunto de âncoras solicitadas àquelas próximas à localização física do dispositivo. Todos os sensores ativados serão usados para ajudar a descobrir âncoras ao redor do seu dispositivo. Para ter a melhor chance de encontrar âncoras, você deve configurar SensorCapabilities para dar à sessão acesso a todos os sensores apropriados. Para obter mais informações sobre como configurar e usar essa propriedade, consulte Relocalização grosseira - Âncoras espaciais do Azure | Microsoft Docs e Como criar e localizar âncoras usando relocalização grosseira em C#, Objective-C, Swift, Java, C++/NDK, C++/WinRT. Essa propriedade é especificada usando um objeto NearDeviceCriteria.

Propriedades adicionais

BypassCache

Valor padrão: false

Quando uma âncora é criada ou encontrada em uma sessão, ela também é armazenada no cache. Com essa propriedade definida como false, qualquer consulta subsequente na mesma sessão retornará o valor armazenado em cache. Nenhuma solicitação ao serviço ASA é feita.

Categorias Solicitadas

Valor padrão: Propriedades | Espacial

Essa propriedade é usada para determinar quais dados são retornados de uma consulta usando AnchorLocateCriteria. O valor padrão retorna propriedades e dados espaciais, isso não deve ser alterado se as propriedades e os dados espaciais forem desejados. Essa propriedade pode ser especificada usando o enum AnchorDataCategory.

Valor Enum de AnchorDataCategory Dados retornados
None Nenhum dado é retornado
Propriedades As propriedades de âncora, incluindo AppProperties, são retornadas.
Spatial Informações espaciais sobre uma âncora são retornadas.

Estratégia

Valor padrão: AnyStrategy

A estratégia define ainda como as âncoras devem ser localizadas. A propriedade Strategy pode ser especificada usando um enum LocateStrategy.

Valor do Enum da LocateStrategy Descrição
AnyStrategy Esta estratégia permite que o sistema utilize combinações de estratégias de Informação Visual e Relacionamento para encontrar âncoras.
Informação Visual Esta estratégia tenta encontrar âncoras combinando informações visuais do ambiente atual com as da pegada visual da âncora. A pegada visual de uma âncora refere-se à informação visual atualmente associada à âncora. Esta informação visual é tipicamente mas não exclusivamente recolhida durante a criação da âncora. Atualmente, essa estratégia só é permitida em conjunto com as propriedades NearDevice ou Identifiers.
Relação Esta estratégia tenta encontrar âncoras fazendo uso de âncoras conectadas existentes. Atualmente, essa estratégia só é permitida em conjunto com as propriedades NearAnchor ou Identifiers. Quando usado com a propriedade Identifiers, é necessário que, na mesma sessão, o usuário tenha localizado anteriormente uma âncora (s) com relações conectivas já estabelecidas para as âncoras cujos IDs são especificados na matriz Identifiers.

Combinações válidas das propriedades LocateStrategy e AnchorLocateCriteria

Nem todas as combinações de propriedades Strategy e AnchorLocateCriteria são atualmente permitidas pelo sistema. A tabela a seguir mostra as combinações permitidas:

Propriedade AnyStrategy Relação Informação Visual
Identifiers
NearAnchor ✓ (será padrão para Relacionamento)
NearDevice

Próximos passos

Consulte Como criar e localizar âncoras usando as Âncoras Espaciais do Azure para obter mais alguns exemplos usando a classe AnchorLocateCriteria.