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 chegará na via em que o consumidor está esperando ou que o local de chegada seja seguro para parada do motorista. Este guia descreve dois recursos que você pode usar para estas situações:

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

Lado da preferência de roteamento da rota

Com esse recurso, você garante que o veículo chegue no lado correto da via. Você define a preferência para chegar a um determinado lado da estrada ao criar o waypoint para essa parada. Há duas maneiras de especificar a preferência: use o mesmo lado da via ou indique uma direção de chegada.

Preferir o mesmo lado da via

Informe as coordenadas geográficas do waypoint e defina uma sinalização (setPreferSameSideOfRoad) que indique que prefere chegar no mesmo lado da via que o waypoint (correspondente à calçada mais próxima).

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

Definir um trajeto de chegada

Informe as coordenadas geográficas do waypoint e uma direção de chegada (setPreferredHeading) que corresponda à direção do fluxo do trânsito 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 de via mais próximo do waypoint, que tem uma direção de faixa que se alinha (dentro de +/- 55 graus) com a parte 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 waypoint para um lugar próximo, caso o local não seja adequado para que um veículo faça uma parada. Quando você define setVehicleStopover como true, o waypoint é automaticamente realocado quando o trajeto é calculado, se um local alternativo está disponível.

Como funciona

Você define a preferência de uma parada ao criar o waypoint para essa parada. Para fazer isso, especifique a preferência setVehicleStopover, conforme mostrado no exemplo abaixo:

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