Yönlendirme özetini hesaplama
Metin Arama (Yeni) veya Yakında Arama (Yeni) özelliğini kullanmak için cevaptaki her yere seyahat süresini ve mesafeyi hesaplamak için:
-
Yönlendirme kaynağının enlem ve boylam koordinatlarını belirtmek için isteğe
routingParameters.origin
parametresini iletin. Bu parametre, yanıttaki her bir yerin süresini ve mesafesini hesaplamak için gereklidir. -
Yanıtın
routingSummaries
dizisini içermesi için alan maskesineroutingSummaries
ekleyin. Bu dizi, süre ve mesafeyi içerir başlangıç noktasından yanıttaki her yere otomatik olarak gönderilir.
Metin Arama'yı Kullan (Yeni)
Aşağıdaki istekte her bir ara hedefe seyahat süresini ve mesafeyi yer: Metin Arama (Yeni) yanıtında:
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 bir yere gitme süresini ve mesafeyi içerir:
{ "places": [ { object (Place) } ] "routingSummaries": [ { "legs": [ object (Leg) ] } ] }
routingSummaries
dizisindeki her öğe, karşılık gelen dizidedir
konumu places
dizisindeki yer olarak gösterilir. Yani,
routingSummaries[0]
, places[0]
adresindeki yere karşılık gelir.
routingSummaries
dizisinin uzunluğu, dizinin uzunluğuyla aynıdır.
places
. Bir yere ait routingSummary
öğesinin mevcut olmadığı durumlarda,
dizi girişi boş.
Bu örnekte, yönlendirme kaynağından her yere olan süre ve mesafe hesaplandığından yanıttaki legs
alanında, yönlendirme kaynağından yere olan duration
ve distanceMeters
değerlerini içeren tek bir Leg
nesnesi bulunur:
{ "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 } ] }, { "legs": [ { "duration": "562s", "distanceMeters": 2345 } ] }, … ] }
Bu örnekte, rotaya olan mesafenin ve süre ile mesafenin başlangıç noktası 597 saniye ve 2607 metre.
Yakındaki Arama'yı kullanma
Bu örnekte, seyahat süresini ve her bir yere olan mesafeyi Yakındaki Arama yanıtı. Bu örnekte, Avustralya'nın Sidney kentindeki restoranlar aranır ve konum kısıtlaması ile rota başlangıcı aynı enlem ve boylam koordinatına ayarlanır:
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
için ve yönlendirme kaynağı için aynı koordinatları kullanmanız gerekmez. Örneğin, arama sonuçlarını bu daireye yönlendirmek için locationRestriction
'yi Sydney'in merkez noktasına ayarlayabilirsiniz. Ancak daha sonra
başlangıç noktası evinizin koordinatlarına yönlendirme (yani farklı bir konum)
arama dairesi içinde. Ardından istek, arama sonuçlarını daireye göre yönlendirir ve rota özetlerini evinizin konumuna göre hesaplar.
Seyahat seçeneklerini belirtin
Varsayılan olarak süre ve mesafe hesaplamaları bir araba içindir. Ancak aramada araç türünü ve diğer seçenekleri kontrol edebilirsiniz.
-
routingParameters.travelMode
parametresini kullanarak ulaşım şekliniDRIVE
,BICYCLE
,WALK
veyaTWO_WHEELER
olarak ayarlayı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önlendirmeyi ayarlamak için
routingParameters.routingPreference
özelliğini kullanın tercih seçeneği olarakTRAFFIC_UNAWARE
(varsayılan),TRAFFIC_AWARE
veyaTRAFFIC_AWARE_OPTIMAL
. Her seçeneğin veri kalitesi ve gecikmesi farklıdır. Daha fazla bilgi için bkz. Trafiğin nasıl dahil edileceğini ve dahil edilip edilmeyeceğini belirtme verileri ile karşılaştırın. -
avoidTolls
,avoidHighways
,avoidFerries
veavoidIndoor
için belirtmek üzereroutingParameters.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.
Bir sonraki örnekte, ulaşım şeklini DRIVE
olarak belirtiyorsunuz.
otoyollar:
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'