Alat: search_along_route
Panggil alat ini saat pengguna ingin menemukan tempat, bisnis, atau lokasi menarik di sepanjang rute perjalanan (misalnya, "pom bensin dalam perjalanan ke Tahoe", "kedai kopi antara SF dan San Jose"). Memanggil alat ini memerlukan biaya yang lebih tinggi daripada search_places, jadi gunakan search_places saat menelusuri di dekat satu lokasi, bukan di sepanjang rute.
Persyaratan Input (PENTING):
text_query(string - WAJIB): Deskripsi bahasa alami tentang apa yang harus ditelusuri di sepanjang rute.- Contoh:
'ev chargers','coffee','vegetarian restaurants','rest stops'.
- Contoh:
Spesifikasi rute (WAJIB - berikan tepat SATU dari hal berikut):
retrieval_token(string):retrieval_tokenyang ditampilkan oleh panggilancompute_routessebelumnya untuk ruteDRIVE. Pilih opsi ini setiap kali rute sudah dihitung. Token ini berlaku selama 10 menit.route_endpoints(objek):origindandestinationrute. Masing-masing harus disediakan menggunakan salah satu dariaddress,lat_lng, atauplace_id.- Contoh:
{"route_endpoints": {"origin": {"address": "San Francisco, CA"}, "destination": {"address": "Lake Tahoe, CA"}}}
- Contoh:
encoded_polyline(string): Polyline yang dienkode yang mewakili ruteDRIVE.
travel_mode(enum - OPSIONAL):DRIVE(default),WALK, atauBICYCLE.WALKdanBICYCLEhanya didukung denganroute_endpoints.TRANSITtidak didukung.routing_preference(enum - OPSIONAL):ROUTING_PREFERENCE_TRAFFIC_UNAWARE(default): menghitung rute dan rute memutar tanpa lalu lintas real-time. Latensi terendah.ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL: menggunakan kondisi lalu lintas real-time jika tersedia. Tidak didukung untukWALKatauBICYCLE. Setel ini HANYA jika pengguna bertanya tentang lalu lintas, kemacetan, atau waktu rute alternatif yang disesuaikan dengan lalu lintas. Hal ini menimbulkan latensi yang lebih tinggi.
include_extended_details(boolean - OPSIONAL): Tetapkan ketruehanya jika permintaan memerlukan insight ulasan kualitatif, item menu atau penawaran tertentu, suasana, tips atau tingkat kesibukan pengunjung, ketersediaan pengisi daya EV, harga bensin, atau detail kualitatif lengkap lainnya. Defaultnya adalahfalse. Mengaktifkannya dapat meningkatkan latensi.language_code(string - OPSIONAL): Bahasa untuk ringkasan hasil dan detail tempat, misalnya,en,ja,en-US. Nilai defaultnya adalahen-US.region_code(string - OPSIONAL): Kode wilayah CLDR Unicode pengguna, misalnya,US,CA.
Instructions for Tool Call:
- Setiap hasil menyertakan
detour_summary(jika tersedia) yang menjelaskan jarak tambahan (localized_detour_distance) dan, kecuali jika rute diberikan sebagaiencoded_polyline, waktu tambahan (detour_duration) yang diperlukan untuk berhenti di tempat tersebut. Gunakan untuk membandingkan opsi. - Respons
summarydapat berisi kutipan berbasis nol (misalnya, "[0]") yang merujuk ke entri diresults. - Output yang di-grounding harus diatribusikan ke sumber menggunakan kolom
attributiondari setiapresults[].placejika tersedia.
Contoh kode berikut menunjukkan cara menggunakan curl untuk memanggil alat MCP search_along_route.
| Permintaan Curl |
|---|
curl --location 'https://mapstools.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "search_along_route", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Skema Input
Pesan permintaan untuk SearchAlongRoute.
SearchAlongRouteRequest
| Representasi JSON |
|---|
{ "textQuery": string, "languageCode": string, "regionCode": string, "routingPreference": enum ( |
| Kolom | |
|---|---|
textQuery |
Wajib. Kueri penelusuran bahasa alami (misalnya, "pengisi daya kendaraan listrik", "kopi"). |
languageCode |
Opsional. Bahasa untuk ringkasan dan detail tempat. Default-nya adalah "en-US". |
regionCode |
Opsional. Kode negara/wilayah (CLDR) lokasi (misalnya, "US"). |
routingPreference |
Opsional. Preferensi pemilihan rute opsional yang menentukan cara penggunaan data lalu lintas. Nilai defaultnya adalah TRAFFIC_UNAWARE. |
includeExtendedDetails |
Opsional. Menyertakan detail tempat yang diperluas dalam respons. Tetapkan kolom ini ke Biarkan Mengaktifkan kolom ini dapat menimbulkan latensi yang lebih tinggi. |
travelMode |
Opsional. Menentukan mode perjalanan yang digunakan untuk menghitung rute dan rute memutar. Default-nya adalah |
Kolom union route_spec. Spesifikasi rute: rute yang ada, token rute, atau endpoint asal/tujuan. route_spec hanya dapat berupa salah satu dari berikut: |
|
encodedPolyline |
String polyline yang dienkode yang mewakili rute. Lihat https://developers.google.com/maps/documentation/utilities/polylinealgorithm |
retrievalToken |
Token pengambilan yang ditampilkan dari panggilan ComputeRoutes sebelumnya yang mewakili rute. |
routeEndpoints |
Endpoint rute eksplisit (asal dan tujuan). |
RouteEndpoints
| Representasi JSON |
|---|
{ "origin": { object ( |
| Kolom | |
|---|---|
origin |
Wajib. Titik awal (alamat, ID Tempat, atau koordinat geografis). |
destination |
Wajib. Titik tujuan (alamat, ID Tempat, atau koordinat geografis). |
Waypoint
| Representasi JSON |
|---|
{ // Union field |
| Kolom | |
|---|---|
Kolom union location_type. Berbagai cara untuk merepresentasikan lokasi. location_type hanya dapat berupa salah satu dari berikut: |
|
latLng |
Titik yang ditentukan menggunakan koordinat geografis. |
placeId |
ID Tempat yang terkait dengan titik jalan. |
address |
Alamat yang dapat dibaca manusia atau plus code. Lihat https://plus.codes untuk mengetahui detailnya. |
LatLng
| Representasi JSON |
|---|
{ "latitude": number, "longitude": number } |
| Kolom | |
|---|---|
latitude |
Lintang dalam derajat. Harus dalam rentang [-90.0, +90.0]. |
longitude |
Bujur dalam derajat. Harus dalam rentang [-180.0, +180.0]. |
RoutingPreference
Serangkaian nilai yang menentukan faktor yang perlu dipertimbangkan saat menghitung rute.
| Enum | |
|---|---|
ROUTING_PREFERENCE_UNSPECIFIED |
Tidak ada preferensi pemilihan rute yang ditentukan. Default-nya adalah ROUTING_PREFERENCE_TRAFFIC_UNAWARE. |
ROUTING_PREFERENCE_TRAFFIC_UNAWARE |
Menghitung rute tanpa mempertimbangkan kondisi lalu lintas real-time. Cocok jika kondisi lalu lintas tidak penting atau tidak berlaku. Penggunaan nilai ini akan menghasilkan latensi terendah. |
ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL |
Menghitung rute dengan mempertimbangkan kondisi lalu lintas real-time, jika data lalu lintas tersedia. Untuk Nilai ini akan memicu paket Pro dan menimbulkan biaya yang ditagih serta latensi yang lebih tinggi. |
RouteTravelMode
Kumpulan nilai yang digunakan untuk menentukan mode perjalanan.
| Enum | |
|---|---|
ROUTE_TRAVEL_MODE_UNSPECIFIED |
Tidak ada mode perjalanan yang ditentukan. Default-nya adalah DRIVE. |
DRIVE |
Bepergian dengan mobil penumpang. |
WALK |
Bepergian dengan berjalan kaki. CATATAN: Rute WALK masih dalam versi beta dan terkadang mungkin tidak memiliki trotoar atau jalur pejalan kaki yang jelas. Anda harus menampilkan peringatan ini kepada pengguna untuk semua rute jalan kaki yang Anda tampilkan di aplikasi. |
BICYCLE |
Bepergian dengan sepeda. |
TRANSIT |
Bepergian dengan transportasi umum. |
Skema Output
Pesan respons untuk SearchAlongRoute.
SearchAlongRouteResponse
| Representasi JSON |
|---|
{
"results": [
{
object ( |
| Kolom | |
|---|---|
results[] |
Hanya output. Daftar hasil penelusuran yang diurutkan berdasarkan peringkat yang ditemukan di sepanjang rute. |
summary |
Hanya output. Ringkasan bahasa alami dari hasil penelusuran dan konsekuensi rute memutar. Dapat berisi kutipan berbasis nol (misalnya "[0]", "[1]") yang merujuk ke entri yang sesuai dalam daftar |
contentToken |
Hanya output. Token terenkripsi yang mengenkapsulasi konteks penelusuran dan dapat diteruskan ke layanan rendering visual Google Maps, SDK, atau Maps Agentic UI Toolkit (A2UI) untuk menampilkan komponen UI interaktif untuk hasil penelusuran yang ditampilkan. |
Hasil
| Representasi JSON |
|---|
{ "place": { object ( |
| Kolom | |
|---|---|
place |
Hanya output. Detail tentang tempat yang ditemukan di sepanjang rute. |
detourSummary |
Hanya output. Metrik rute memutar yang timbul karena menambahkan tempat ini sebagai perhentian sementara di sepanjang rute. Dihilangkan atau kosong jika metrik rute memutar tidak dapat dihitung. |
PlaceView
| Representasi JSON |
|---|
{ "place": string, "id": string, "googleMapsLinks": { object ( |
| Kolom | |
|---|---|
place |
Nama resource tempat yang mendasarinya, dalam format "places/{id}". |
id |
ID tempat dari tempat yang mendasarinya. |
googleMapsLinks |
Link untuk memicu berbagai tindakan Google Maps. |
attribution |
Atribusi yang diperlukan untuk ditampilkan bersama tempat. |
Kolom union
|
|
location |
Posisi tempat ini. |
LatLng
| Representasi JSON |
|---|
{ "latitude": number, "longitude": number } |
| Kolom | |
|---|---|
latitude |
Lintang dalam derajat. Harus dalam rentang [-90.0, +90.0]. |
longitude |
Bujur dalam derajat. Harus dalam rentang [-180.0, +180.0]. |
GoogleMapsLinks
| Representasi JSON |
|---|
{ "directionsUrl": string, "placeUrl": string, "writeAReviewUrl": string, "reviewsUrl": string, "photosUrl": string } |
| Kolom | |
|---|---|
directionsUrl |
Link untuk menampilkan rute ke tempat tersebut. Link hanya mengisi lokasi tujuan dan menggunakan mode perjalanan default |
placeUrl |
Link untuk menampilkan tempat ini. |
writeAReviewUrl |
Link untuk menulis ulasan untuk tempat ini di Google Maps. |
reviewsUrl |
Link untuk menampilkan ulasan tempat ini di Google Maps. |
photosUrl |
Link untuk menampilkan foto tempat ini di Google Maps. |
Atribusi
| Representasi JSON |
|---|
{ "title": string, "url": string } |
| Kolom | |
|---|---|
title |
Judul yang akan ditampilkan untuk atribusi. |
url |
URL yang akan ditautkan untuk atribusi. |
DetourSummary
| Representasi JSON |
|---|
{ "detourDuration": string, "localizedDetourDistance": string } |
| Kolom | |
|---|---|
detourDuration |
Waktu perjalanan tambahan yang diperlukan untuk memutar ke tempat ini dari rute utama. Nilai ini tidak ditetapkan jika rute ditentukan oleh Durasi dalam detik dengan maksimal sembilan digit pecahan, diakhiri dengan ' |
localizedDetourDistance |
Jarak tambahan yang diperlukan untuk memutar ke tempat ini dari rute utama, yang diformat untuk ditampilkan dalam bahasa permintaan (misalnya, "1,2 mi" atau "1,9 km"). |
Durasi
| Representasi JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Kolom | |
|---|---|
seconds |
Detik bertanda dari rentang waktu. Harus dari -315.576.000.000 hingga +315.576.000.000 inklusif. Catatan: batas ini dihitung dari: 60 dtk/mnt * 60 mnt/jam * 24 jam/hari * 365,25 hari/tahun * 10.000 tahun |
nanos |
Pecahan detik bertanda tangan pada resolusi nanodetik dari rentang waktu. Durasi kurang dari satu detik direpresentasikan dengan kolom |
Anotasi Alat
Anotasi alat dikirim ke klien MCP untuk menjelaskan risiko dasar alat tertentu. Sebagian besar klien memperlakukan petunjuk ini sebagai tidak tepercaya, tetapi petunjuk tersebut dapat digunakan untuk memutuskan kapan perintah konfirmasi dapat dikirim kepada pengguna.
Bersama dengan string judul, petunjuk boolean berikut ditentukan sebagai berikut:
readOnlyHint: Jika benar, alat tidak akan mengubah lingkungannya. Default: false.destructiveHint: Jika benar, alat dapat melakukan tindakan destruktif. Jika salah, alat hanya dapat melakukan tindakan aditif. Default: true.idempotentHint: Jika benar, memanggil alat berulang kali dengan argumen yang sama tidak akan memberikan efek tambahan pada lingkungannya. Default: false.openWorldHint: Jika benar, alat dapat berinteraksi dengan 'open world' entitas eksternal. Jika salah, alat hanya dapat berinteraksi dengan entity internal. Misalnya, alat penelusuran web akan bersifat open world, sedangkan alat memori tidak akan bersifat open world.
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌