Funcionalidades de localização na Extensão de Cartão Adaptável

Observação

A funcionalidade de geolocalização na Extensão de Cartão Adaptável estará disponível no SPFx v1.15.

Portanto, verifique se você o instalou antes de continuar.

Para obter mais informações sobre como instalar a Versão prévia do SPFx v1.15, consulte notas de versão da Estrutura do SharePoint v1.15.

Este tutorial também pressupõe que você já criou uma Extensão de Cartão Adaptável do SharePoint.

Para saber como criar sua primeira Extensão de Cartão Adaptável do SharePoint, experimente este tutorial.

Novos tipos de ação para geolocalização

Há duas ações de localização:

  1. Obter Localização
  2. Mostrar Local

Obter Localização:

Fornece o local atual do dispositivo do usuário ou abre o seletor de local nativo e retorna a localização escolhida pelo usuário. No navegador, ela usa o Bing Mapas como interface de mapeamento.

A ação ACE para Obter Localização é: VivaAction.GetLocation.

Ela usa um parâmetro booliano opcional: ChooseLocationOnMap.

Se a propriedade ChooseLocationOnMap for definida como true, a ação abrirá um mapa e o usuário poderá escolher um local no mapa; caso contrário, ela buscará a localização atual do dispositivo do usuário.

Mostrar Localização:

Com essa ação, um mapa é exibido na tela na qual você pode mostrar a localização atual do usuário no mapa ou mostrar as coordenadas especificadas no mapa.

A ação ACE para Mostrar Localização é: VivaAction.ShowLocation.

Ela usa um parâmetro de localização opcional: locationCoordinates.

Para mostrar uma localização específica, você deve passar as coordenadas de localização (latitude e longitude) por meio do parâmetro locationCoordinates.

O objeto locationCoordinates consiste nas seguintes propriedades:

{
  /**
   * Latitude of the location.
   */
  latitude: number;

  /**
   * Longitude of the location.
   */
  longitude: number;

  /**
   * Timestamp (optional).
   */
  timestamp?: number;

  /**
   * Accuracy of the location (optional).
   */
  accuracy?: number;
}

Tutorial e exemplos

Você pode dar uma olhada neste tutorial, que aborda os detalhes passo a passo de como você pode criar um cartão com ações de geolocalização.

Os exemplos a seguir descrevem a ação de geolocalização e sua finalidade.

  1. Obter a localização atual do usuário

    Em seu JSON de modelo, introduza a seguinte ação:

    "actions": [{
      type: 'VivaAction.GetLocation',
      id: 'Get Location'
    }]
    

    Quando essa ação é invocada, a geolocalização atual do usuário é buscada e é passada para o Desenvolvedor de Terceiros por meio do retorno de chamada onAction.

    Observação

    Nesse caso, o mapa não aparece.

  2. Selecionar localização em um mapa

    Em seu JSON de modelo, introduza a seguinte ação:

    "actions": [{
      type: 'VivaAction.GetLocation',
      id: 'Get Location',
      parameters: {chooseLocationOnMap: true}
    }]
    

    Quando essa ação é invocada, um mapa apontando para a localização atual do usuário é aberto e o usuário pode selecionar e compartilhar a localização de sua escolha. As coordenadas da localização selecionada são passadas para o Desenvolvedor de Terceiros por meio do retorno de chamada onAction.

  3. Exibir a localização atual do usuário

    Em seu JSON de modelo, introduza a seguinte ação:

    "actions": [{
      type: 'VivaAction.ShowLocation',
      id: 'Show Location'
    }]
    

    Quando essa ação é invocada, um mapa é aberto e as coordenadas de localização atuais do usuário são mostradas nele.

  4. Exibir uma localização especificada

    Em seu JSON de modelo, introduza a seguinte ação:

    "actions": [{
      type: 'VivaAction.ShowLocation',
      id: 'Show Location',
      parameters: {
        locationCoordinates: {
          latitude: 28.6132039578389,
          longitude: 77.229488240066
        }
      }
    }]
    

    Quando essa ação é invocada, um mapa é aberto e mostra as coordenadas de localização especificadas na ação.

Acessar ações de geolocalização por meio do painel de propriedades do cartão do designer de cartão

Se você não quiser escrever código, mas ainda quiser ver como as ações de geolocalização funcionam, poderá explorar este tutorial que permite criar cartões com ações de geolocalização por meio do painel de propriedades.

Observação

Essas ações de geolocalização podem ser adicionadas no modo de exibição de cartão ou nos botões do modo de exibição de cartão ou dentro do modo de exibição rápido.

Códigos de permissão e erro

Para que as APIs de localização funcionem, o usuário precisa conceder a permissão para acessar a localização do dispositivo.

Código do erro Descrição do erro
PermissionDenied O usuário negou a permissão para acessar a localização
InternalError Ocorreu um erro inesperado ao invocar as APIs de localização
HostNotSupported A ação de localização está sendo usada em um ambiente sem suporte

Retornos de chamada para Desenvolvedores de cartão

Quando a ação VivaAction.GetLocation é invocada, passamos as coordenadas de localização buscadas por meio do retorno de chamada onAction.

Observação

O retorno de chamada onAction não é invocado para VivaAction.ShowLocation.

Para ações: VivaAction.GetLocation e VivaAction.ShowLocation, se o usuário entrar em um estado de erro, um retorno de chamada onError será invocado, para o qual passaremos o nome da ação e o código de erro.

Disponibilidade de ações de geolocalização

Observação

Essas novas ações estão disponíveis apenas no navegador no momento. Viva Connections desktop e Viva Connections suporte móvel serão habilitados posteriormente. Depois da Disponibilidade Geral, a matriz de suporte para ações terá a seguinte aparência:

Action Área de Trabalho de Conexão do Viva Viva Connections Mobile Navegador
Obter Localização Não suportado Com suporte Com suporte
Mostrar Local Não suportado Com suporte Com suporte