Gerenciar waypoints

Por padrão, o SDK 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. 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 em um lado específico da via ao criar um ponto de referência 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.

Prefira o mesmo lado da via

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

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

Definir um destino de chegada

Você fornece as coordenadas geográficas do ponto de referência e um rumo de chegada (setPreferredHeading) que corresponde à direção do fluxo de tráfego no mesmo lado da rua que o consumidor em espera.

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

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

Definir preferência de escala

Em alguns lugares, não é possível parar com segurança (por exemplo, áreas elevadas, balsas, locais subterrâneos e outras áreas de acesso limitado). O recurso Parada realoca o ponto de referência para um lugar próximo se o local não for adequado para um veículo fazer uma parada. 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 uma parada ao criar o ponto de referência 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()