Menggabungkan ringkasan perutean dengan penelusuran di sepanjang rute

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

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

  1. Gunakan Routes API untuk menghitung rute yang menampilkan polyline rute dalam respons.

  2. Gunakan parameter searchAlongRouteParameters.polyline.encodedPolyline untuk meneruskan polyline rute ke Text Search (Baru) guna memprioritaskan hasil penelusuran ke rute. Respons kemudian berisi tempat yang cocok dengan kriteria penelusuran dan juga berlokasi di dekat rute yang ditentukan.

  3. Sertakan routingSummaries dalam mask kolom agar respons menyertakan array routingSummaries. Array ini berisi durasi dan jarak dari asal perutean ke setiap tempat dalam respons.

APIs Explorer memungkinkan Anda membuat permintaan langsung sehingga Anda dapat memahami API dan opsi API:

Secara default, Text Search (Baru) akan 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 tempat yang cocok, dan array routingSummaries yang berisi durasi dan jarak perjalanan ke setiap tempat:

{
  "places": [
    {
      "formattedAddress": "1199 El Camino Real, San Bruno, CA 94066, USA",
      "priceLevel": "PRICE_LEVEL_INEXPENSIVE",
      "displayName": {
        "text": "Vegan Mob - Vegan BBQ and Soul Food",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "839 Kearny St, San Francisco, CA 94108, USA",
      "priceLevel": "PRICE_LEVEL_MODERATE",
      "displayName": {
        "text": "Enjoy Vegetarian",
        "languageCode": "en"
      }
    },
   
],
  "routingSummaries": [
    {
      "legs": [
        {
          "duration": "285s",
          "distanceMeters": 1616
        },
        {
          "duration": "2466s",
          "distanceMeters": 58147
        }
      ],
      "directionsUri": "https://www.google.com/maps/dir/37.42268,-122.08473/''/37.77877,-122.38781/data=!4m7!4m6!1m0!1m2!1m1!1s0x808f87f9ede375f5:0xa37171fea1a16b28!1m0!3e0"
    },
    {
      "legs": [
        {
          "duration": "696s",
          "distanceMeters": 4704
        },
        {
          "duration": "2787s",
          "distanceMeters": 58901
        }
      ],
      "directionsUri": "https://www.google.com/maps/dir/37.42268,-122.08473/''/37.77877,-122.38781/data=!4m7!4m6!1m0!1m2!1m1!1s0x808580f4cebdb06f:0xd3af09e5742234f2!1m0!3e0"
    },
   
  ]
}

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

  • Segmen pertama berisi durasi dan jarak perjalanan dari asal ke tempat. Dalam contoh ini, durasi dan jarak dari asal ke tempat pertama dalam hasil adalah 285 detik dan 1.616 meter.

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

Menentukan asal perutean, moda perjalanan, dan pengubah rute

Anda dapat mengubah penghitungan ringkasan penelusuran dan perutean dengan menentukan asal perutean, moda perjalanan, pengubah rute, dan preferensi perutean. Moda perjalanan dan pengubah rute berfungsi sama seperti untuk menghitung ringkasan perutean tanpa menentukan rute seperti yang ditunjukkan dalam topik Menentukan opsi perjalanan.

Secara default, segmen pertama setiap hasil berisi jarak dari asal yang ditentukan oleh polyline ke setiap tempat. Namun, Anda dapat mengganti nilai default tersebut dengan menentukan asal perutean secara eksplisit dalam permintaan. Jika ditentukan, segmen pertama semua respons akan menentukan jarak dan durasi dari asal perutean yang ditentukan, sehingga 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 menjadi 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 menunjukkan peta yang berisi polyline rute, asal baru (pin biru muda), dan tempat dalam hasil penelusuran (pin hijau). Perhatikan bahwa semua hasil berada di sepanjang rute, tetapi melewati San Mateo:

Hasil penelusuran dari origin pembaruan.

Cobalah!

APIs Explorer memungkinkan Anda membuat permintaan contoh sehingga Anda dapat memahami API dan opsi API.

  1. Pilih ikon API api di sisi kanan halaman.

  2. Opsional: edit parameter permintaan.

  3. Pilih tombol Jalankan. Dalam dialog, pilih akun yang ingin Anda gunakan untuk membuat permintaan.

  4. Di panel APIs Explorer, pilih ikon layar penuh fullscreen untuk meluaskan jendela APIs Explorer.