Menggabungkan ringkasan pemilihan rute dengan Telusuri di Sepanjang Rute

Anda dapat menggabungkan penghitungan ringkasan perutean dengan penelusuran di sepanjang rute. Dalam hal ini, Text Search (Baru) menampilkan durasi dan jarak perjalanan ke masing-masing ke respons, lalu dari setiap tempat ke tujuan akhir rute perjalanan.

Untuk menggunakan Text Search (Baru) guna menghitung ringkasan pemilihan rute beserta penelusuran di sepanjang rute:

  1. Menggunakan Routes API untuk menghitung rute yang menampilkan polyline rute dalam responsnya.

  2. Gunakan parameter searchAlongRouteParameters.polyline.encodedPolyline untuk teruskan polyline rute ke Text Search (Baru) untuk mencondongkan hasil penelusuran ke rute tersebut. Respons kemudian berisi tempat yang cocok dengan kriteria penelusuran dan juga terletak di dekat rute yang ditentukan.

  3. Sertakan routingSummaries dalam mask kolom sehingga respons menyertakan array routingSummaries. {i>Array<i} ini berisi durasi dan jarak dari asal perutean ke setiap tempat dalam respons.

Secara default, Penelusuran Teks (Baru) melakukan penelusuran di sepanjang rute:

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food",
  "searchAlongRouteParameters": {
    "polyline": {
      "encodedPolyline": "ROUTE_POLYLINE"
    }
  }
}' \
-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'

Respons berisi dua array: array places yang berisi pencocokan tempat, dan array routingSummaries yang berisi durasi dan jarak ke perjalanan ke setiap tempat:

{
  "places": [
    {
      "formattedAddress": "1477 Plymouth St suite c, Mountain View, CA 94043, USA",
      "priceLevel": "PRICE_LEVEL_INEXPENSIVE",
      "displayName": {
        "text": "Zareen's",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "2464 W El Camino Real C, Mountain View, CA 94040, USA",
      "priceLevel": "PRICE_LEVEL_INEXPENSIVE",
      "displayName": {
        "text": "Veggie Garden",
        "languageCode": "en"
      }
    },
   …
],
  "routingSummaries": [
    {
      "legs": [
        {
          "duration": "285s",
          "distanceMeters": 1616
        },
        {
          "duration": "2466s",
          "distanceMeters": 58147
        }
      ]
    },
    {
      "legs": [
        {
          "duration": "696s",
          "distanceMeters": 4704
        },
        {
          "duration": "2787s",
          "distanceMeters": 58901
        }
      ]
    },
   …
  ]
}

Untuk setiap entri dalam array legs, Text Search (Baru) menampilkan perjalanan dua segmen waktu:

  • Tahap pertama berisi durasi perjalanan dan jarak dari tempat asal ke mendapatkan tempat tersebut. Dalam contoh ini, durasi dan jarak dari tempat asal ke tempat pertama dalam hasil adalah 285 detik dan 1616 meter.

  • Tahap kedua berisi durasi perjalanan dan jarak dari tempat ke tujuan rute. Dalam contoh ini, durasi dan jaraknya adalah 2.466 detik dan 58.147 meter.

Menentukan asal pemilihan rute, mode perjalanan, dan pengubah rute

Anda dapat mengubah penghitungan ringkasan penelusuran dan pemilihan rute dengan menentukan asal pemilihan rute, mode perjalanan, pengubah rute, dan preferensi pemilihan rute. Pengubah rute dan mode perjalanan berfungsi sama seperti untuk menghitung ringkasan pemilihan rute tanpa menentukan rute seperti yang ditunjukkan dalam Menentukan opsi perjalanan.

Secara default, segmen pertama setiap hasil berisi jarak dari tempat asal didefinisikan oleh polyline ke setiap tempat. Namun, Anda dapat mengganti default tersebut dengan menentukan asal pemilihan rute secara eksplisit dalam permintaan. Jika ditentukan, elemen pertama segmen semua respons menentukan jarak dan durasi dari input asal perutean, mengganti asal dari polyline.

Pada contoh berikutnya, Anda menentukan asal perutean sebagai koordinat San Mateo, CA, menentukan untuk menghindari jalan tol, dan menetapkan jumlah hasil ke 5:

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food",
  "maxResultCount": 5,
  "searchAlongRouteParameters": {
    "polyline": {
      "encodedPolyline": "ROUTE_POLYLINE"
    }
  },
  "routingParameters": {
    "origin": {
      "latitude": 37.56617,
      "longitude": -122.30870
    },
    "travelMode":"DRIVE",
    "routeModifiers": {
      "avoidTolls": 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'

Gambar berikut menampilkan peta yang berisi polyline rute, asal baru (pin biru muda), dan tempat di hasil penelusuran (pin hijau). Perhatikan bagaimana semua hasil berada di sepanjang rute tetapi melewati San Mateo:

Hasil penelusuran dari asal update.