Calcular rotas entre marcadores de localizador em um mapa (versão preliminar)

[Este tópico faz parte da documentação de pré-lançamento e está sujeito a alterações.]

O controle de mapeamento em um aplicativo de tela pode adicionar marcadores de localizador usando dados importados de uma tabela em uma pasta de trabalho do Excel. O controle pode calcular rotas entre localizadores, reordenar localizadores e recalcular uma rota para melhorar o tempo de viagem ou a distância.

Importante

  • Este é um recurso em versão preliminar.
  • Os recursos de visualização não foram criados para uso em ambientes de produção e podem ter funcionalidade restrita. Esses recursos são disponibilizados antes de um lançamento oficial para que os clientes possam ter acesso antecipado e fornecer comentários.

Você precisará de uma fonte de dados que contenha uma tabela nomeada com as seguintes colunas. Cada coluna corresponde a uma propriedade avançada do controle Mapa. Cada linha é fixada como um localizador no mapa.

Nome da coluna Corresponde a Obrigatória
Nome (ou Rótulo) RouteWaypointsLabels Opcional
Longitude RouteWaypointsLongitudes Opcional (obrigatória se Endereço não for fornecido)
Latitude RouteWaypointsLatitudes Opcional (obrigatória se Endereço não for fornecido)
Endereço RouteWaypointsAddresses Opcional (obrigatória se Longitude e Latitude não forem fornecidas)

Observação

Todas as propriedades são tecnicamente opcionais. No entanto, pelo menos um endereço ou um par de latitude/longitude deve ser fornecido para que a localização do localizador seja plotada.

Importar marcadores de localizador de uma tabela do Excel

Neste exemplo, importaremos dados de localizador de uma tabela do Excel chamada TestData.

Criar uma fonte de dados

  1. Crie uma tabela no Excel com os dados a seguir. Nome da tabela TestData.

    Nome Longitude Latitude Endereço
    Trabalho -122,156481 47,663448 1 Microsoft Way, Redmond, WA 98052
    Encontro -122,221037 47,57137
    Natação -122,144133 47,600373
    Tênis -122,137265 47,616115

    A tabela deve ser semelhante a esta:

    Um exemplo de planilha do Excel com uma tabela chamada TestData que contém informações necessárias para colocar marcadores do localizador em um mapa.

  2. Salve a pasta de trabalho em seu OneDrive for Business e feche o arquivo.

Vincular a fonte de dados a um controle de mapeamento

  1. Crie um aplicativo de tela. Certifique-se de que ele atenda aos pré-requisitos geoespaciais.

  2. Insira um controle de mapeamento.

  3. Na guia Propriedades do controle, selecione a caixa Localizadores de rota (Itens) e digite excel.

    Uma captura de tela que mostra como procurar uma fonte de dados de localizador para se conectar a um controle de mapeamento no Power Apps Studio.

  4. Selecione Importar do Excel.

  5. Navegue até o seu OneDrive for Business e selecione a pasta de trabalho do Excel que salva anteriormente.

  6. Selecione a tabela TestData e, em seguida, Conectar.

    Captura de tela do painel de seleção de tabela.

  7. Na guia Avançado, encontre RouteWaypointsLabels, RouteWaypointsLatitudes, RouteWaypointsLongitudes e RouteWaypointsAddresses e insira o nome da coluna correspondente na tabela. (Neste exemplo, digite Nome em RouteWaypointsLabels, Latitude em RouteWaypointsLatitudes e assim por diante.) Coloque o nome da coluna entre aspas.

    Observação

    O endereço é substituível por Latitude e Longitude. Se a latitude e a longitude forem fornecidas, o endereço não será usado. Se o endereço for fornecido, a latitude e a longitude não serão necessárias. Há um limite no número de localizadores que podem ser exibidos ao usar o endereço; portanto, use Latitude e Longitude quando possível.

Os marcadores aparecem no mapa nos locais descritos pelos endereços ou coordenadas na tabela. Se a tabela incluir rótulos, os marcadores serão rotulados. Os marcadores são numerados na ordem em que os locais do localizador aparecem na tabela.

Uma captura de tela de um mapa com localizadores fixados e rotulados mostrados ao lado das propriedades do mapa.

Calcular rotas entre os localizadores

Com o controle de mapeamento selecionado, abra a guia Propriedades e ative Habilitar roteamento.

O controle calcula rotas entre os localizadores fixados.

Uma captura de tela de um mapa com rotas entre localizadores fixados.

Observação

Por padrão, o controle de mapeamento reordena os localizadores intermediários a fim de diminuir o tempo ou a distância da viagem. O primeiro e o último localizadores são considerados a origem e o destino e não podem ser reordenados. Para manter os localizadores na ordem estabelecida na fonte de dados, ative a propriedade Maintain waypoint order do controle.

Propriedades

Altere como uma rota é calculada usando propriedades.

Propriedade Descrição Tipo Guia
Enable routing Calcula rotas entre localizadores. Booliano Propriedades; Avançado: UseRouting
Maintain waypoint order Determina se uma rota calculada mantém os localizadores na ordem fornecida na fonte de dados. Booliano Propriedades; Avançado: RouteMaintainOrder
Optimize route Determina se uma rota calculada é otimizada para distância, tempo, ou não é otimizada. Lista suspensa Propriedades: Avançado: RouteOptimization
Route travel mode Determina se uma rota é calculada para um carro ou caminhão, o que pode exigir evitar pontes com certas restrições de altura ou peso. Lista suspensa Propriedades; Avançado: RouteTravelMode
Show route pins Determina se os marcadores são mostrados sobre os localizadores da rota. Booliano Propriedades; Avançado: ShowRoutePins

Propriedades de saída

Algumas propriedades ficam disponíveis apenas quando uma rota calculada é alterada. Essas propriedades de saída são colocadas no objeto RouteDirection. O evento OnRouteDirectionChange é uma maneira recomendada de usar a saída em outros controles ou personalizar a experiência do aplicativo.

Propriedade Descrição Tipo Guia
OnRouteDirectionChange Contém código que é executado quando a rota é alterada. Evento Avançado
RouteDirection Descreve as saídas de roteamento:
  • LengthInMeters: o comprimento em metros de toda a rota
  • TravelTimeInSeconds: o tempo de viagem esperado em segundos da rota inteira
  • RouteGeoJSON: uma cadeia de caracteres que descreve a rota no formato GeoJSON
  • RouteLegs: uma tabela que descreve cada trecho da rota:
    • Index: um número que representa a ordem do trecho na rota
    • LengthInMeters: o comprimento do trecho em metros
    • TravelTimeInSeconds: o tempo de viagem esperado em segundos do trecho
    • StartLabel: o rótulo do ponto de partida do trecho
    • StartLatitude: a latitude do ponto de partida do trecho
    • StartLongitude: a longitude do ponto de partida do trecho
    • StartAddress: o endereço do ponto de partida do trecho
    • EndLabel: o rótulo do ponto final do trecho
    • EndLatitude: a latitude do ponto final do trecho
    • EndLongitude: a longitude do ponto final do trecho
    • EndAddress: o endereço do ponto final do trecho
  • OrderedWaypoints: uma tabela que descreve cada localizador depois que os localizadores são ordenados:
    • Index: um número que representa a ordem do localizador na rota
    • Label: o rótulo do localizador
    • Latitude: a latitude do localizador
    • Longitude: a longitude do localizador
    • Address: o endereço do localizador
Objeto Não aplicável (somente propriedade de saída)

Confira também

Controle de mapeamento interativo