Gerenciar waypoints

Por padrão, o Navigation SDK para Android encontra o trajeto mais rápido para um waypoint. No entanto, isso não garante que o veículo chegue ao lado da via em que o consumidor está esperando ou que o local de chegada seja seguro para o motorista parar. Este guia descreve dois recursos que podem ser usados nessas situações:

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

Preferência de trajeto pelo lado da via

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

Preferir o mesmo lado da via

Você fornece as coordenadas geográficas do waypoint e define uma flag (setPreferSameSideOfRoad) que indica que você prefere chegar ao 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 waypoint e uma direção de chegada (setPreferredHeading) que corresponde ao sentido do fluxo de tráfego no mesmo lado da via que o consumidor que está esperando.

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

O Navigation SDK escolhe o segmento de 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 a 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 local próximo se a localização não for adequada para um veículo parar. Quando você define setVehicleStopover como true, o waypoint é realocado automaticamente quando o trajeto é calculado, se um local alternativo estiver disponível.

Como funciona

Você define a preferência de parada ao criar o waypoint para essa parada. 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()