Yönlendirme özetini hesaplama
Yanıtın her bir yerindeki seyahat süresini ve mesafeyi hesaplamak için Metin Arama (Yeni) veya Yakınlardaki Arama (Yeni)'yı kullanmak için:
-
Yönlendirme başlangıcının enlem ve boylam koordinatlarını belirtmek için isteğe
routingParameters.origin
parametresini iletin. Bu parametre, yanıttaki her yerin süresini ve mesafesini hesaplamak için gereklidir. -
Yanıtın
routingSummaries
dizisini içermesi için alan maskesineroutingSummaries
ekleyin. Bu dizi, yönlendirme başlangıcından yanıttaki her yere kadar olan süreyi ve mesafeyi içerir.
API Gezgini, API ve API seçenekleri hakkında bilgi edinmek için canlı isteklerde bulunmanıza olanak tanır:
Metin Arama'yı (Yeni) kullanma
Aşağıdaki istekte, Metin Arama (Yeni) yanıtındaki her bir yerin seyahat süresini ve mesafesini hesaplıyorsunuz:
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ıt iki JSON dizisi içerir: places
dizisi eşleşen yerleri, routingSummaries
dizisi ise her yere gitmek için gereken süreyi ve mesafeyi içerir:
{ "places": [ { object (Place) } ] "routingSummaries": [ { object (RoutingSummary) } }
routingSummaries
dizisindeki her öğe, places
dizisindeki yerle aynı dizi konumundadır. 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 kullanılamıyorsa
dizi girişi boştur.
Bu örnekte, rotanın başlangıç noktasından her yere olan süre ve mesafe hesaplandığından yanıttaki routingSummaries.legs
alanı, rotanın 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 örnekten, rotanın başlangıç noktasından sonuçlardaki ilk yere kadar 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 yer için seyahat süresini ve mesafesini hesaplıyorsunuz. 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:searchNearby
locationRestriction
ve yönlendirme kaynağı için aynı koordinatları kullanmanız gerekmez. Örneğin, arama sonuçlarını bu daireye göre yönlendirmek 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. Daha sonra istek, arama sonuçlarını daireye göre yönlendirir ve rota özetlerini evinizin konumuna göre hesaplar.
Seyahat seçeneklerini belirleme
Varsayılan olarak süre ve mesafe hesaplamaları araba için yapılır. Ancak, arama sonuçlarında araç türünü ve diğer seçenekleri kontrol edebilirsiniz.
-
Ulaşım şeklini
DRIVE
,BICYCLE
,WALK
veyaTWO_WHEELER
olarak ayarlamak içinroutingParameters.travelMode
parametresini kullanın. Bu seçenekler hakkında daha fazla bilgi için Rotalar için kullanılabilen araç türleri başlıklı makaleyi inceleyin. -
Yönlendirme tercihi seçeneğini
TRAFFIC_UNAWARE
(varsayılan),TRAFFIC_AWARE
veyaTRAFFIC_AWARE_OPTIMAL
olarak ayarlamak içinroutingParameters.routingPreference
özelliğini kullanın. Her seçeneğin veri kalitesi ve gecikme düzeyleri farklıdır. Daha fazla bilgi için Trafik verilerinin nasıl ve dahil edilip edilmeyeceğini belirtme başlıklı makaleyi inceleyin.Google Haritalar bağlantıyı açtığında trafik seçeneklerini gösterdiğinden
routingParameters.routingPreference
özelliği, Önizleme (GA öncesi)directionsUri
alanındaki yol tariflerini etkiler. -
routingParameters.routeModifiers
,avoidTolls
,avoidHighways
,avoidFerries
veavoidIndoor
içinroutingParameters.routeModifiers
özelliğini kullanın. Bu seçenekler hakkında daha fazla bilgi için Kaçınılacak rota özelliklerini belirtme başlıklı makaleyi inceleyin.
Sonraki örnekte, ulaşım şeklini DRIVE
olarak belirtiyorsunuz ve otoyollardan kaçınmak istiyorsunuz:
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çeneklerine alışabilmeniz için örnek istekler göndermenize olanak tanır.
Sayfanın sağ tarafındaki API simgesini api seçin.
İsteğe bağlı olarak istek parametrelerini düzenleyin.
Yürüt düğmesini seçin. İletişim kutusunda, isteği göndermek için kullanmak istediğiniz hesabı seçin.
API Gezgini penceresini genişletmek için API Gezgini panelinde tam ekran simgesini fullscreen seçin.