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.