Calcolare il riepilogo del routing

Per utilizzare Ricerca di testo (nuova) o Ricerca nelle vicinanze (nuova) per calcolare la durata e la distanza del viaggio verso ogni luogo nella risposta:

  1. Passa il parametro routingParameters.origin nella richiesta per specificare le coordinate di latitudine e longitudine dell'origine del percorso. Questo parametro è necessario per calcolare la durata e la distanza da ogni luogo nella risposta.

  2. Includi routingSummaries nella maschera del campo in modo che la risposta includa l'array routingSummaries. Questo array contiene la durata e la distanza dall'origine del percorso a ogni luogo nella risposta.

L'API Explorer ti consente di effettuare richieste in tempo reale per familiarizzare con l'API e le relative opzioni:

Nella seguente richiesta, calcoli la durata e la distanza del viaggio per ogni luogo nella risposta di Ricerca di testo (nuova):

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia",
  "routingParameters": {
    "origin": {
      "latitude": -33.8688,
      "longitude": 151.1957362
    }
  }
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \
'https://places.googleapis.com/v1/places:searchText'

La risposta contiene due array JSON: l'array places contiene i luoghi corrispondenti e l'array routingSummaries contenente la durata e la distanza da percorrere per raggiungere ogni luogo:

{
  "places": [
    {
      object (Place)
    }
  ]
  "routingSummaries": [
    {
      object (RoutingSummary)
    }
}

Ogni elemento dell'array routingSummaries si trova nella posizione corrispondente dell'array places. ovvero l'elemento in routingSummaries[0] corrisponde al luogo in places[0].

La lunghezza dell'array routingSummaries è uguale a quella dell'array places. Nel caso in cui routingSummary per un luogo non sia disponibile, la voce dell'array è vuota.

Poiché questo esempio calcola la durata e la distanza dall'origine del percorso a ogni luogo, il campo routingSummaries.legs nella risposta contiene un singolo oggetto Leg che contiene duration e distanceMeters dall'origine del percorso al luogo.

{
  "places": [
    {
      "formattedAddress": "1, Westfield Sydney Central Plaza, 450 George St, Sydney NSW 2000, Australia",
      "displayName": {
        "text": "Gözleme King Sydney",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia",
      "priceLevel": "PRICE_LEVEL_MODERATE",
      "displayName": {
        "text": "Mother Chu's Vegetarian Kitchen",
        "languageCode": "en"
      }
    },
    
  ]
  "routingSummaries": [
    {
      "legs": [
        {
          "duration": "597s",
          "distanceMeters": 2607
        }
      ],
      "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3fa97cd745:0x6aecf365bf497c08!3e0"
    },
    {
      "legs": [
        {
          "duration": "562s",
          "distanceMeters": 2345
        }
      ],
      "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3da97f60c1:0x845f3273bd764f6c!3e0"
    },
   
  ]
}

Da questo esempio, puoi vedere che la durata e la distanza dall'origine del percorso al primo luogo nei risultati sono 597 secondi e 2607 metri.

In questo esempio, calcoli la durata e la distanza del viaggio per ogni luogo nella risposta della ricerca nelle vicinanze. Questo esempio cerca ristoranti a Sydney, in Australia, e imposta la limitazione della località e l'origine del percorso sulla stessa coordinata di latitudine e longitudine:

  curl -X POST -d '{
    "includedTypes": ["restaurant"],
    "maxResultCount": 10,
    "locationRestriction": {
      "circle": {
        "center": {
          "latitude": -33.8688,
          "longitude": 151.1957362},
        "radius": 500.0
      }
    },
    "routingParameters": {
      "origin": {
        "latitude": -33.8688,
        "longitude": 151.1957362
      }
    }
  }' \
  -H 'Content-Type: application/json' -H "X-Goog-Api-Key:API_KEY" \
  -H "X-Goog-FieldMask: places.displayName,routingSummaries" \
  https://places.googleapis.com/v1/places:searchNearby

Non devi utilizzare le stesse coordinate per locationRestriction e per l'origine del percorso. Ad esempio, imposti locationRestriction sul punto centrale di Sydney per dare la priorità ai risultati di ricerca all'interno di questo cerchio. ma poi imposti l'origine dell'itinerario sulle coordinate della tua casa, ovvero su una posizione diversa all'interno del cerchio di ricerca. La richiesta quindi sposta i risultati di ricerca verso il cerchio e calcola i riepiloghi degli itinerari in base alla posizione della tua casa.

Specificare le opzioni di viaggio

Per impostazione predefinita, i calcoli di durata e distanza si riferiscono a un'auto. Tuttavia, puoi controllare il tipo di veicolo, nonché altre opzioni, nella ricerca.

  • Utilizza il parametro routingParameters.travelMode per impostare la modalità di trasporto su DRIVE, BICYCLE, WALK o TWO_WHEELER. Per ulteriori informazioni su queste opzioni, vedi Tipi di veicoli disponibili per i percorsi.

  • Utilizza la proprietà routingParameters.routingPreference per impostare l'opzione di preferenza di routing su TRAFFIC_UNAWARE (impostazione predefinita), TRAFFIC_AWARE o TRAFFIC_AWARE_OPTIMAL. Ogni opzione ha diversi livelli di qualità dei dati e latenza. Per maggiori informazioni, vedi Specificare come e se includere i dati sul traffico.

    La proprietà routingParameters.routingPreference influisce sulle indicazioni stradali contenute nel campo Anteprima (pre-GA) directionsUri perché Google Maps mostra le opzioni di traffico quando apre il link.

  • Utilizza la proprietà routingParameters.routeModifiers per specificare avoidTolls, avoidHighways, avoidFerries e avoidIndoor. Per ulteriori informazioni su queste opzioni, vedi Specificare le caratteristiche del percorso da evitare.

Nell'esempio successivo, specifichi la modalità di viaggio come DRIVE e di evitare le autostrade:

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia",
  "routingParameters": {
    "origin": {
      "latitude": -33.8688,
      "longitude": 151.1957362
    },
    "travelMode":"DRIVE",
    "routeModifiers": {
      "avoidHighways": true
    }
  }
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \
'https://places.googleapis.com/v1/places:searchText'

Prova

L'Explorer API ti consente di effettuare richieste di esempio per familiarizzare con l'API e le relative opzioni.

  1. Seleziona l'icona API api sul lato destro della pagina.

  2. (Facoltativo) Modifica i parametri della richiesta.

  3. Seleziona il pulsante Esegui. Nella finestra di dialogo, scegli l'account che vuoi utilizzare per effettuare la richiesta.

  4. Nel riquadro Explorer API, seleziona l'icona a schermo intero fullscreen per espandere la finestra di Explorer API.