Rotaları hesaplama

compute_routes aracı, belirli bir seyahat modu için başlangıç ve varış noktası arasındaki rotayı döndürür. Yanıtta rotanın mesafesi ve süresi yer alır. Varsayılan olarak rotalar canlı trafik olmadan hesaplanır. Pro, canlı trafiği ve daha fazla ara durak içeren rotaları hesaba katan rota oluşturma özelliğini ekler.

compute_routes aracını MCP sunucusu üzerinden veya computeRoutes REST yöntemi olarak çağırabilirsiniz. Bu sayfada, Pro seçenekleri de dahil olmak üzere istek seçenekleri, yanıtın içeriği ve isteklerin nasıl faturalandırıldığı açıklanmaktadır. Şemaların tamamı için compute_routes MCP referansına ve computeRoutes REST referansına bakın.

İstek seçenekleri

Aşağıdaki tabloda compute_routes için istek seçenekleri açıklanmaktadır:

Seçenek Açıklama
origin, destination Zorunlu. Her biri bir ara noktadır: address (insan tarafından okunabilen bir adres veya Plus Code), place_id ya da lat_lng. Biçimleri karıştırabilirsiniz. Örneğin, başlangıç noktası için bir adres ve hedef için bir yer kimliği kullanabilirsiniz.
travel_mode Ulaşım modu: DRIVE (varsayılan), WALK, BICYCLE veya TRANSIT. WALK rotaları beta sürümündedir ve bazen net kaldırımlar veya yaya yolları eksik olabilir. Uygulamanızda gösterdiğiniz tüm yaya rotaları için kullanıcıya bu uyarıyı göstermeniz gerekir.
routing_preference Trafik verilerinin rotayı hesaplamak için nasıl kullanıldığı: ROUTING_PREFERENCE_TRAFFIC_UNAWARE (varsayılan) veya ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL (Pro seçeneği). ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL, WALK veya BICYCLE için desteklenmiyor. Trafiğe duyarlı rota çizme bölümüne bakın.
intermediate_waypoints Başlangıç ve varış noktası arasındaki sıralı duraklar. Rota, bu noktalardan verilen sırayla geçer. Bir istek en fazla 10 ara nokta içerebilir. Pro seçeneği olarak 11 ila 25 ara nokta da içerebilir. 25'ten fazla öğe içeren istekler INVALID_ARGUMENT hatası döndürür. Toplu taşıma rotaları, ara noktaları desteklemez.
departure_time veya arrival_time Başlangıç noktasından ayrılma veya varış noktasına varma zamanı (RFC 3339 zaman damgası olarak). En fazla bir tane ayarlayın. Varsayılan olarak geçerli saatte kalkış yapılır. TRANSIT için zaman, geçmişte en fazla 7 gün veya gelecekte en fazla 100 gün olabilir. Diğer seyahat modlarında ise zaman geçmişte olamaz ve en fazla 365 gün sonra olabilir.
compute_alternative_routes true olduğunda, alternatifler mevcutsa yanıta önerilen rotanın yanı sıra alternatif rotalar da dahil edilir. Varsayılan değer false'dir.
include_polyline true olduğunda yanıttaki her rota encodedPolyline değerini içerir. Varsayılan değer false'dir.
location_bias Metin yolu noktalarının nasıl çözümleneceğini etkileyen enlem/boylam koordinatları (ör. bir adresin anlam belirsizliğini gidermek için).

Pro seçenekleri

Maps Grounding Pro SKU'sunu seçmek için iki seçenek vardır. Bunlardan birini veya her ikisini kullanan istekler Pro SKU'su kapsamında faturalandırılır:

Pro seçeneği Ne zaman kullanılır?
routing_preference adresi ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL olarak ayarlandı Kullanıcı trafik, yoğunluk veya mevcut trafiği hesaba katan bir seyahat süresi hakkında soru soruyor. Trafiğe duyarlı rota çizme bölümüne bakın.
11-25 intermediate_waypoints Rotada, başlangıç ve varış noktaları arasında 10'dan fazla durak olması gerekir.

Seyahat modu, zamanlama, alternatif rotalar, çoklu çizgiler ve konum ağırlığı dahil olmak üzere diğer tüm seçenekler Essentials SKU'su kapsamında faturalandırılır.

Trafiğe duyarlı rota çizme

Varsayılan olarak rotalar, canlı trafik koşulları (ROUTING_PREFERENCE_TRAFFIC_UNAWARE) olmadan hesaplanır. Bu ayar en düşük gecikmeye sahiptir. Yürüyüş rotaları veya kaba planlama gibi trafiğin önemli olmadığı ya da geçerli olmadığı istekler için uygundur.

Trafik verileri mevcut olduğunda rotayı ve süresini mevcut trafik koşullarına göre hesaplamak için routing_preference değerini ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL olarak ayarlayın. Kullanıcı, bir sürüşün şu anda ne kadar süreceğini sorduğunda bu aracı kullanın. TRANSIT rotaları için bu ayar, gecikmeler ve iptaller gibi gerçek zamanlı toplu taşıma verilerini (varsa) kullanır. WALK veya BICYCLE rotaları için desteklenmez. Bu istekler INVALID_ARGUMENT hatası döndürür. Bu bir Pro seçeneği olduğundan istek, Pro SKU'su kapsamında faturalandırılır. Bu seçenek, gecikmeye de neden olur.

Örnek

Aşağıdaki MCP isteği, bir ara durak ve kodlanmış çoklu çizgi içeren, trafiğe duyarlı bir sürüş rotası ister. Pro SKU'su kapsamında faturalandırılır:

{
  "method": "tools/call",
  "params": {
    "name": "compute_routes",
    "arguments": {
      "origin": {"address": "Ferry Building, San Francisco, CA"},
      "destination": {"address": "Golden Gate Park, San Francisco, CA"},
      "intermediate_waypoints": [
        {"address": "Palace of Fine Arts, San Francisco, CA"}
      ],
      "travel_mode": "DRIVE",
      "routing_preference": "ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL",
      "include_polyline": true
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}

Aşağıdaki örnekte, aynı istek computeRoutes REST yöntemine gönderilmektedir:

curl -X POST \
-H "Content-Type: application/json" \
-H "X-Goog-Api-Key: API_KEY" \
-d '{
  "origin": {"address": "Ferry Building, San Francisco, CA"},
  "destination": {"address": "Golden Gate Park, San Francisco, CA"},
  "intermediateWaypoints": [
    {"address": "Palace of Fine Arts, San Francisco, CA"}
  ],
  "travelMode": "DRIVE",
  "routingPreference": "ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL",
  "includePolyline": true
}' \
"https://mapstools.googleapis.com/v1:computeRoutes"

API_KEY kısmını API anahtarınızla değiştirin.

Yanıt

Yanıt, en çok önerilenden en az önerilene doğru sıralanmış routes[] içeriyor. compute_alternative_routes, true olmadığı sürece yalnızca bir rota döndürülür. Her rotada şunlar bulunur:

  • distanceMeters: Rotanın metre cinsinden seyahat mesafesi.
  • duration: Rotada seyahat etmek için gereken süre. ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL ile süre, trafik koşullarına göre hesaplanır.
  • encodedPolyline: include_polyline, true olduğunda kodlanmış çoklu çizgi olarak rotanın yolu. Bu API'yi, diğer Google Haritalar Platformu API'leriyle birlikte harita üzerinde rota çizmek için kullanabilirsiniz.
  • retrievalToken: DRIVE rotaları için döndürülen opak bir jeton (10 dakika geçerli). Bu jetonu, ara noktaları yeniden göndermeden rota üzerindeki yerleri bulmak için search_along_route yöntemine iletebilirsiniz.
  • attribution: Rotayla birlikte göstermeniz gereken ilişkilendirme. İlişkilendirme koşulları bölümünü inceleyin.

Faturalandırma ve kotalar

Her compute_routes isteği, faturalandırılabilir bir etkinliktir:

Alternatif rotalar, çoklu çizgi, kalkış veya varış saati ya da farklı bir seyahat modu talep etmek SKU'yu değiştirmez.

compute_routes kotası, her iki SKU tarafından paylaşılan her proje için dakikada 300 sorgudur. Fiyatlandırma için Ana fiyatlandırma tablosu ve Hindistan fiyatlandırma tablosu'na bakın.

Sınırlar

  • Bir istek en fazla 25 ara yol noktası içerebilir. 11 ila 25 arası, Pro seçeneğidir. Daha fazla öğe içeren istekler INVALID_ARGUMENT hatası döndürür.
  • Toplu taşıma rotaları, ara noktaları desteklemez. Ara noktalar içeren bir toplu taşıma isteği INVALID_ARGUMENT hatası döndürür.
  • ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL, yaya veya bisiklet rotaları için desteklenmez.
  • Toplu taşıma rotalarında kalkış ve varış saatleri 7 gün öncesine veya 100 gün sonrasına kadar olabilir. Diğer seyahat modları için geçmişte olamaz ve en fazla 365 gün sonra olabilir.
  • Ara nokta koordinatları geçerli coğrafi sınırlar içinde olmalıdır (enlem -90 ile 90, boylam -180 ile 180 arasında).
  • Araç; adım adım talimatları, rotaları veya toplu taşıma hattı ayrıntılarını döndürmez.