Trafik verilerinin nasıl ve nasıl ekleneceğini belirtin

Seçtiğiniz trafik tercihleri, rota ayrıntılarının doğruluğu ile istek performansını dengeler. Bir istekte bulunduğunuzda, mümkün olan en doğru sonuçları döndürmenin mi yoksa sonuçları olabildiğince hızlı şekilde döndürmenin mi daha iyi olduğuna karar vermek istersiniz. Routes API, yanıt verilerinin kalitesi ile yanıtın gecikme süresini kontrol etmenize olanak tanıyan seçenekler sunar.

Trafik veri düzeyini ayarlama

Routes API, rotaları hesaplamak için yönlendirme tercihlerini belirtmenize olanak tanıyan RoutingPreference (REST) ve RoutingPreference (gRPC) özellikleri sunar. Bu tercihler, rota hesaplamasına trafik koşullarının dikkate alınması bakımından farklılık gösterir. Her bir yönlendirme tercihi rota kalitesi, tahmini TVS ve yanıt gecikmesi açısından bir dereceye kadar farklı sonuçlar verir.

Trafik koşulları, trafik akış hızını tanımlar. Örneğin:

  • Trafik sıkışıklık olmadığında normal kabul edilir ve trafik kesintisiz bir hızda akar.
  • Yoğun saatlere yaklaşırken trafik yoğunluğu artar. Bu da trafiğin yavaşlamasına ve hafif ile orta arası trafik koşullarına neden olur.
  • Tampondan bumper'a giden trafikte, akış hızı durarak yoğun trafik koşullarına neden olur.

Trafik bilgisi yok

TRAFFIC_UNAWARE yönlendirme tercihini belirlediğinizde rotalar, mevcut trafik koşulları dikkate alınmadan hesaplanır. Bu yönlendirme tercihi en düşük yanıt gecikmesini sağlar (yanıtlar en hızlı şekilde döndürülür).

TRAFFIC_UNAWARE, varsayılan ayardır.

Yanıtta:

  • GMR, duration yanıt özelliğinde yer alır.

  • duration ve staticDuration yanıt özellikleri aynı değeri içerir.

Yanıtların en hızlı şekilde döndürülmesini istiyorsanız ve yaklaşık yönlendirme ayrıntıları yeterince iyi olduğunda bu yönlendirme tercihini kullanın.

Trafiğe duyarlı

TRAFFIC_AWARE yönlendirme tercihini belirlediğinizde rotalar, mevcut trafik koşulları dikkate alınarak hesaplanır. Bunun sonucunda, rota ve rota ayrıntıları gerçek dünya koşullarını daha doğru yansıtıyor. Veri kalitesindeki bu artış yanıt gecikmesinden kaynaklandığından, gecikmenin büyük bir kısmını azaltmak için performans optimizasyonları uygulanır.

Yanıtta:

  • Gerçek zamanlı trafiği dikkate alan GMR, duration yanıt özelliğinde yer alır.

  • staticDuration yanıt özelliği, trafik koşulları dikkate alınmadan rotadaki seyahat süresini içerir.

TRAFFIC_UNAWARE seçeneğinden daha doğru yönlendirme ayrıntıları istiyorsanız bu yönlendirme tercihini kullanın. Yanıtların gecikmede küçük bir artışla döndürülmesi sizin için sorun değilse bu tercihinizi kullanın.

Trafiğe duyarlı optimum

TRAFFIC_AWARE_OPTIMAL yönlendirme tercihini ayarladığınızda, rotalar mevcut trafik koşulları dikkate alınarak hesaplanır ancak performans optimizasyonu uygulanmaz. Bu modda, sunucu en uygun rotayı bulmak için yol ağında daha kapsamlı bir arama gerçekleştirir.

TRAFFIC_AWARE_OPTIMAL yönlendirme tercihi, maps.google.com ve Google Haritalar mobil uygulaması tarafından kullanılan moda eşdeğerdir.

Bu seçenek İşlem Rota Matrisi ile kullanıldığında bir istekteki öğe sayısı (kaynak sayısı × hedef sayısı) 100'ü aşamaz. İşlem Rota Matrisi sınırları hakkında daha fazla bilgi için Rota matrisi hesaplama bölümüne bakın.

Yanıtta:

  • Gerçek zamanlı trafiği dikkate alan GMR, duration yanıt özelliğinde yer alır.

  • staticDuration yanıt özelliği, trafik koşulları dikkate alınmadan rotadaki seyahat süresini içerir.

Bu yönlendirme tercihi en yüksek yanıt gecikmesini sağlar (Yani yanıtlar en uzun gecikmeyle döndürülür). Yanıtların ne kadar zaman aldığından bağımsız olarak, en yüksek kalitede sonuçlar elde etmek istediğinizde bu yönlendirme tercihini kullanın.

Kalkış saatini ayarlamanın etkisi

İsterseniz bir gezi için kalkış saatini ayarlamak üzere departureTime özelliğini kullanabilirsiniz. departureTime özelliğini ayarlamazsanız varsayılan olarak isteği yaptığınız zaman kullanılır.

  • Rota ve süre seçimi yol ağına ve ortalama süreye bağlı olmayan trafik koşullarına bağlı olduğundan TRAFFIC_UNAWARE için departureTime değerini ayarlayamazsınız.

  • Canlı trafik koşullarını dikkate alan TRAFFIC_AWARE ve TRAFFIC_AWARE_OPTIMAL için canlı trafik, departureTime yaklaştıkça daha önemli hale gelir. Kalkış saatini geleceğe ne kadar uzağa ayarlarsanız, geçmiş trafik koşulları üzerinde o kadar fazla dikkate alınır.

Örnek ayar yönlendirme tercihi

Aşağıdaki JSON kodu, bir istek mesajı varlık gövdesinde yönlendirme tercihinin nasıl ayarlanacağını gösterir.

{
  "origin":{
    "location":{
      "latLng":{
        "latitude":37.419734,
        "longitude":-122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude":37.417670,
        "longitude":-122.079595
      }
    }
  },
  "travelMode":"DRIVE",
  "routingPreference":"TRAFFIC_AWARE_OPTIMAL"
}

Çoklu çizgi kalitesini yapılandırın

Routes API, trafiğe duyarlı bir çoklu çizgi ile trafik koşulları hakkında bilgi istemenize olanak tanır. Daha fazla bilgi için Çoklu çizgileri isteme bölümüne bakın.

Bir çoklu çizginin kalitesi aşağıdaki terimlerle açıklanabilir:

  • Çoklu çizgiyi oluşturan nokta sayısı

    Noktalar ne kadar fazla olursa çoklu çizgi de o kadar pürüzsüz olur (özellikle kavislerde).

  • Noktaların kayan nokta hassasiyeti

    Noktalar, tek duyarlıklı kayan nokta biçiminde temsil edilen enlem ve boylam değerleri olarak belirtilir. Bu, küçük değerler (tam olarak temsil edilebilir) için iyi sonuç verir ancak kayan nokta yuvarlama hataları nedeniyle değerler arttıkça hassasiyet azalır.

computeRoutes yöntemi (REST) ve ComputeRoutes yöntemi (gRPC), çoklu çizgi kalitesini kontrol etmek için polylineQuality istek seçeneğini destekler.

Çoklu çizgi kalitesini ayarlama örneği

polylineQuality, çoklu çizginin kalitesini HIGH_QUALITY veya OVERVIEW (varsayılan) olarak belirtir. OVERVIEW ile çoklu çizgi, az sayıda nokta kullanılarak oluşturulur ve HIGH_QUALITY ile karşılaştırıldığında daha düşük bir istek gecikmesine sahiptir.

Örneğin, istek gövdesinde:

{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE",
  "polylineQuality": "HIGH_QUALITY",
  "polylineEncoding": "ENCODED_POLYLINE", 
  "departureTime": "2023-10-15T15:01:23.045123456Z",
  ...
}