Impostare una fermata lungo un percorso

Sviluppatori dello Spazio economico europeo (SEE)

Puoi impostare una fermata lungo un percorso, ad esempio per un ritiro o una consegna, in uno dei due modi seguenti:

  • Aggiungi una tappa intermedia: questa è l'opzione predefinita. Aggiungi un waypoint intermedio tra l'origine e la destinazione nell'array intermediates. Il motore di routing aggancia il waypoint alla strada percorribile più vicina e divide il percorso in RouteLeg segmenti collegati da questa fermata.
  • Specifica un vehicleStopover: se vuoi che il motore di routing esegua un'analisi aggiuntiva per evitare tratti stradali non adatti alla sosta, come autostrade, tunnel o cavalcavia, imposta vehicleStopover: true su un waypoint.

Aggiungi un waypoint intermedio

Per impostare una fermata lungo un percorso, aggiungi un waypoint intermedio all'array intermediates nella richiesta.

L'aggiunta di un waypoint intermedio ha i seguenti effetti:

  • Il percorso è suddiviso in RouteLeg segmenti: ogni segmento collega una fermata alla successiva.
  • La coordinata viene allineata a una strada: il motore di routing allinea la coordinata di latitudine e longitudine, che potrebbe trovarsi su un tetto o in un cortile, al segmento stradale navigabile più vicino.

Per molte strade di superficie, l'allineamento alla strada più vicina fornisce una posizione di fermata pratica. Tuttavia, lo snapping non determina se il tratto di strada è adatto per accostare, ad esempio quando la strada più vicina è un'autostrada o un tunnel.

Esempio: aggiunta di un waypoint intermedio

L'esempio seguente mostra come impostare una fermata lungo un percorso aggiungendo un waypoint intermedio in una richiesta POST computeRoutes:

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "intermediates": [
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      }
    }
  ],
  "travelMode": "DRIVE"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Per saperne di più sui waypoint intermedi e sulle tappe del percorso, consulta Imposta waypoint intermedi.

Specifica una sosta del veicolo per l'idoneità al ritiro e alla riconsegna

Mentre una tappa intermedia standard si aggancia alla strada più vicina, questa strada non è sempre adatta per una sosta del veicolo. Se vuoi che il motore di routing esegua un'analisi aggiuntiva per valutare l'idoneità della strada per il ritiro o la consegna, imposta vehicleStopover: true sul waypoint.

Quando imposti vehicleStopover: true, il motore di routing valuta i segmenti stradali candidati e tenta di evitare le strade non adatte alla sosta, come autostrade, tunnel e cavalcavia.

Ad esempio, considera una località in cui una strada di superficie passa direttamente sopra un'autostrada all'interno di un tunnel: * Waypoint intermedio standard: si aggancia all'autostrada o al tunnel sottostante se è geometricamente più vicino alla tua coordinata. * Sosta del veicolo: esegue un'analisi aggiuntiva per bypassare l'autostrada e il tunnel, agganciando la sosta a una strada di superficie adatta per accostare.

Esempio: specifica vehicleStopover su un waypoint

L'esempio seguente mostra come impostare vehicleStopover: true su un waypoint intermedio in una richiesta POST completa:

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "intermediates": [
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      },
      "vehicleStopover": true
    }
  ],
  "travelMode": "DRIVE"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Per saperne di più sui tipi e sulle opzioni di waypoint, vedi Tipi e opzioni di waypoint.