Rota hesaplama özeti
Yanıtın her bir yerindeki seyahat süresini ve mesafeyi hesaplamak için Metin Arama (Yeni) veya Yakında Arama (Yeni)'yı kullanmak için:
-
Rotanın başlangıç noktasının enlem ve boylam koordinatlarını belirtmek için istekte
routingParameters.originparametresini iletin. Bu parametre, yanıttaki her bir yerin süresini ve mesafesini hesaplamak için gereklidir. -
Yanıtın
routingSummariesdizisini içermesi için alan maskesineroutingSummariesdeğerini ekleyin. Bu dizi, rota başlangıç noktasından yanıttaki her bir yere olan süreyi ve mesafeyi içerir.
API Gezgini, API ve API seçeneklerini tanıyabilmeniz için canlı istekler göndermenize olanak tanır:
Text Search'ü (New) kullanma
Aşağıdaki istekte, Metin Arama (Yeni) yanıtındaki her bir yerin seyahat süresini ve mesafesini hesaplarsınız:
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'Yanıtta iki JSON dizisi bulunur: places dizisi eşleşen yerleri, routingSummaries dizisi ise her yere seyahat süresini ve mesafesini içerir:
{ "places": [ { object (Place) } ] "routingSummaries": [ { object (RoutingSummary) } }
routingSummaries dizisindeki her öğe, places dizisindeki yerle aynı dizide bulunur. Yani routingSummaries[0] konumundaki öğe, places[0] konumundaki yere karşılık gelir.
routingSummaries dizisinin uzunluğu, places dizisinin uzunluğuyla aynıdır. Bir yerin routingSummary değeri mevcut değilse dizi girişi boş olur.
Bu örnekte, rota başlangıç noktasından her bir yere olan süre ve mesafe hesaplandığından, yanıttaki routingSummaries.legs alanı, rota başlangıç noktasından yere olan duration ve distanceMeters değerlerini içeren tek bir Leg nesnesi içerir.
{ "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" }, … ] }
Bu örnekte, rota başlangıç noktasından sonuçlardaki ilk yere olan sürenin ve mesafenin 597 saniye ve 2.607 metre olduğunu görebilirsiniz.
Yakında Arama'yı kullanma
Bu örnekte, Yakındaki Arama yanıtındaki her bir yer için seyahat süresini ve mesafesini hesaplarsınız. Bu örnekte, Avustralya'nın Sidney şehrindeki restoranlar aranıyor ve konum kısıtlaması ile yönlendirme başlangıcı aynı enlem ve boylam koordinatına ayarlanıyor:
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:searchNearbylocationRestriction ve yönlendirme kaynağı için aynı koordinatları kullanmanız gerekmez. Örneğin, arama sonuçlarını bu çemberle sınırlamak için locationRestriction değerini Sidney'in merkez noktası olarak ayarlarsınız. Ancak daha sonra yönlendirme başlangıcını evinizin koordinatlarına, yani arama çemberi içinde farklı bir konuma ayarlarsınız. Ardından istek, arama sonuçlarını daireye göre önceliklendirir ve rota özetlerini evinizin konumuna göre hesaplar.
Seyahat seçeneklerini belirtme
Varsayılan olarak, süre ve mesafe hesaplamaları otomobil için yapılır. Ancak aramada araç türünü ve diğer seçenekleri kontrol edebilirsiniz.
-
Ulaşım modunu
DRIVE,BICYCLE,WALKveyaTWO_WHEELERolarak ayarlamak içinroutingParameters.travelModeparametresini kullanın. Bu seçenekler hakkında daha fazla bilgi için Rotalar için kullanılabilir araç türleri başlıklı makaleyi inceleyin. -
Yönlendirme tercihi seçeneğini
TRAFFIC_UNAWARE(varsayılan),TRAFFIC_AWAREveyaTRAFFIC_AWARE_OPTIMALolarak ayarlamak içinroutingParameters.routingPreferenceözelliğini kullanın. Her seçeneğin farklı veri kalitesi ve gecikme düzeyleri vardır. Daha fazla bilgi için Trafik verilerinin nasıl ve ne zaman dahil edileceğini belirtme başlıklı makaleyi inceleyin.routingParameters.routingPreferenceözelliği, Önizleme (GKST öncesi)directionsUrialanında bulunan yol tariflerini etkiler. Bunun nedeni, Google Haritalar'ın bağlantıyı açtığında trafik seçeneklerini göstermesidir. -
routingParameters.routeModifiersözelliğini kullanarakavoidTolls,avoidHighways,avoidFerriesveavoidIndoorparametrelerini belirtin. Bu seçenekler hakkında daha fazla bilgi için Kaçınılacak rota özelliklerini belirtme başlıklı makaleyi inceleyin.
Bir sonraki örnekte, seyahat modunu DRIVE olarak belirtir ve otoyollardan kaçınırsınız:
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'Deneyin.
API Gezgini, API ve API seçeneklerini tanıyabilmeniz için örnek istekler göndermenize olanak tanır.
Sayfanın sağ tarafındaki API simgesini api seçin.
İsterseniz istek parametrelerini düzenleyebilirsiniz.
Execute (Yürüt) düğmesini seçin. İletişim kutusunda, isteği göndermek için kullanmak istediğiniz hesabı seçin.
API Gezgini panelinde, API Gezgini penceresini genişletmek için tam ekran simgesini fullscreen seçin.