Menghitung ringkasan pemilihan rute

Untuk menggunakan Text Search (Baru) atau Nearby Search (Baru) guna menghitung durasi perjalanan dan jarak ke setiap tempat dalam respons:

  1. Teruskan parameter routingParameters.origin dalam permintaan untuk menentukan koordinat lintang dan bujur asal pemilihan rute. Parameter ini diperlukan untuk menghitung durasi dan jarak ke setiap tempat dalam respons.

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

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

Menggunakan Text Search (Baru)

Dalam permintaan berikut, Anda menghitung durasi perjalanan dan jarak ke setiap tempat dalam respons Text Search (New):

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'

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

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

Setiap elemen dalam array routingSummaries berada di lokasi array yang sesuai sebagai tempat dalam array places. Artinya, elemen di routingSummaries[0] sesuai dengan tempat di places[0].

Panjang array routingSummaries sama dengan panjang array places. Jika routingSummary untuk suatu tempat tidak tersedia, entri array akan kosong.

Karena contoh ini menghitung durasi dan jarak dari asal perutean ke setiap tempat, kolom routingSummaries.legs dalam respons berisi satu objek Leg yang berisi duration dan distanceMeters dari asal perutean ke tempat.

{
  "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"
    },
   
  ]
}

Dari contoh ini, Anda dapat melihat bahwa durasi dan jarak dari asal rute ke tempat pertama dalam hasil adalah 597 detik dan 2.607 meter.

Dalam contoh ini, Anda menghitung durasi perjalanan dan jarak ke setiap tempat dalam respons Penelusuran Langsung. Contoh ini menelusuri restoran di Sydney, Australia, dan menetapkan batasan lokasi serta asal pemilihan rute ke koordinat lintang dan bujur yang sama:

  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

Anda tidak harus menggunakan koordinat yang sama untuk locationRestriction dan untuk origin pemilihan rute. Misalnya, Anda menetapkan locationRestriction ke titik tengah Sydney untuk membiaskan hasil penelusuran ke lingkaran tersebut. Namun, Anda kemudian menetapkan asal pemilihan rute ke koordinat rumah Anda, yang berarti ke lokasi lain dalam lingkaran penelusuran. Permintaan tersebut kemudian membiaskan hasil penelusuran ke lingkaran, dan menghitung ringkasan pemilihan rute berdasarkan lokasi rumah Anda.

Menentukan opsi perjalanan

Secara default, perhitungan durasi dan jarak adalah untuk mobil. Namun, Anda dapat mengontrol jenis kendaraan, serta opsi lainnya, dalam penelusuran.

  • Gunakan parameter routingParameters.travelMode untuk menetapkan mode transportasi ke DRIVE, BICYCLE, WALK, atau TWO_WHEELER. Untuk mengetahui informasi selengkapnya tentang opsi ini, lihat Jenis kendaraan yang tersedia untuk rute.

  • Gunakan properti routingParameters.routingPreference untuk menetapkan opsi preferensi pemilihan rute ke TRAFFIC_UNAWARE (default), TRAFFIC_AWARE, atau TRAFFIC_AWARE_OPTIMAL. Setiap opsi memiliki tingkat kualitas dan latensi data yang bervariasi. Untuk mengetahui informasi selengkapnya, lihat Menentukan cara dan apakah akan menyertakan data traffic.

    Properti routingParameters.routingPreference memengaruhi rute yang terdapat di kolom directionsUri Pratinjau (Pra-GA) karena Google Maps menampilkan opsi lalu lintas saat membuka link.

  • Gunakan properti routingParameters.routeModifiers untuk menentukan ke avoidTolls, avoidHighways, avoidFerries, dan avoidIndoor. Untuk mengetahui informasi selengkapnya tentang opsi ini, lihat Menentukan fitur rute yang harus dihindari.

Pada contoh berikutnya, Anda menentukan mode perjalanan sebagai DRIVE dan untuk menghindari jalan bebas hambatan:

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'

Cobalah!

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

  1. Pilih ikon API api di sisi kanan halaman.

  2. Atau, edit parameter permintaan.

  3. Pilih tombol Execute. 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.