Gerenciar waypoints

Por padrão, o SDK do Navigation para Android encontra o trajeto mais rápido até um waypoint, mas isso não garante que o veículo vai chegar no lado da via em que o consumidor está esperando ou que o local de chegada é seguro para o motorista parar. Neste guia, descrevemos dois recursos que podem ser usados nessas situações:

  • Preferência de trajeto do lado da via
  • Recurso de parada

Preferência de trajeto do lado da via

É possível definir uma preferência para chegar em um lado específico da via ao criar um waypoint para uma parada. É possível especificar a preferência de duas maneiras: preferir o mesmo lado da via ou fornecer uma direção de chegada.

Prefiro o mesmo lado da via

Você fornece as coordenadas geográficas do waypoint e define uma flag (setPreferSameSideOfRoad) que indica que você prefere chegar no mesmo lado da via que o waypoint, ajustado à calçada mais próxima.

Waypoint waypoint =
   Waypoint.builder()
           .setLatLng(latitude, longitude)
           .setTitle("Somewhere in Sydney")
           .setPreferSameSideOfRoad(true)
           .build()

Definir uma direção de chegada

Você fornece as coordenadas geográficas do ponto de passagem e, em seguida, um cabeçalho de chegada (setPreferredHeading) que corresponde à direção do fluxo de tráfego no mesmo lado da via que o consumidor em espera.

Waypoint waypoint =
   Waypoint.builder()
           .setLatLng(latitude, longitude)
           .setTitle("Somewhere in Sydney")
           .setPreferredHeading(preferredHeading)
           .build()

O SDK do Navigation escolhe o trecho da via mais próximo do waypoint que tem uma direção de faixa alinhada (dentro de +/- 55 graus) com o lado da via em que o waypoint está.

Definir preferência de parada

Em alguns lugares, não é possível que os motoristas parem com segurança (por exemplo, áreas elevadas, balsas, locais subterrâneos e outras áreas de acesso limitado). O recurso Parada realoca o ponto de passagem para lugares por perto se o local não for adequado para um veículo parar. Quando você define setVehicleStopover como true, o waypoint é realocado automaticamente quando o trajeto é calculado, se houver um local alternativo disponível.

Como funciona

Defina a preferência de uma parada ao criar o waypoint dela. Para fazer isso, especifique a preferência setVehicleStopover, conforme mostrado no exemplo a seguir:

Waypoint waypoint =
   Waypoint.builder()
           .setLatLng(latitude, longitude)
           .setTitle("Somewhere in Sydney")
           .setVehicleStopover(true)
           .build()