Rota özetlerini rota üzerinde arama ile birleştirme
Rota özeti hesaplamalarını rota boyunca arama ile birleştirebilirsiniz. Bu durumda Metin Arama (Yeni), yanıtta her bir yere olan seyahat süresini ve mesafeyi, ardından her bir yerden rotanın nihai varış noktasına olan mesafeyi döndürür.
Metin Arama (Yeni) özelliğini kullanarak yönlendirme özetini hesaplamak ve bir rota boyunca arama yapmak için:
-
Yanıt içinde bir rota poliline döndüren bir rota hesaplamak için Rotalar API'sini kullanın.
-
Arama sonuçlarını rotaya göre yönlendirmek için rota poliline'ını Metin Arama (Yeni) hizmetine iletmek üzere
searchAlongRouteParameters.polyline.encodedPolyline
parametresini kullanın. Yanıt, arama ölçütleriyle eşleşen ve belirtilen rotanın yakınında bulunan yerleri içerir. -
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:
Varsayılan olarak, Metin Arama (Yeni) tüm rota boyunca arama yapar:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food", "searchAlongRouteParameters": { "polyline": { "encodedPolyline": "ROUTE_POLYLINE" } } }' \ -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 dizi bulunur: eşleşen yerleri içeren places
dizisi ve her yere gitmek için gereken süreyi ve mesafeyi içeren routingSummaries
dizisi:
{ "places": [ { "formattedAddress": "1199 El Camino Real, San Bruno, CA 94066, USA", "priceLevel": "PRICE_LEVEL_INEXPENSIVE", "displayName": { "text": "Vegan Mob - Vegan BBQ and Soul Food", "languageCode": "en" } }, { "formattedAddress": "839 Kearny St, San Francisco, CA 94108, USA", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Enjoy Vegetarian", "languageCode": "en" } }, … ], "routingSummaries": [ { "legs": [ { "duration": "285s", "distanceMeters": 1616 }, { "duration": "2466s", "distanceMeters": 58147 } ], "directionsUri": "https://www.google.com/maps/dir/37.42268,-122.08473/''/37.77877,-122.38781/data=!4m7!4m6!1m0!1m2!1m1!1s0x808f87f9ede375f5:0xa37171fea1a16b28!1m0!3e0" }, { "legs": [ { "duration": "696s", "distanceMeters": 4704 }, { "duration": "2787s", "distanceMeters": 58901 } ], "directionsUri": "https://www.google.com/maps/dir/37.42268,-122.08473/''/37.77877,-122.38781/data=!4m7!4m6!1m0!1m2!1m1!1s0x808580f4cebdb06f:0xd3af09e5742234f2!1m0!3e0" }, … ] }
Text Search (New), legs
dizisindeki her giriş için iki ayaklı bir yolculuk süresi döndürür:
-
İlk etapta, başlangıç noktasından yere kadar olan seyahat süresi ve mesafe yer alır. Bu örnekte, başlangıç noktasından sonuçlardaki ilk yere kadar olan süre ve mesafe 285 saniye ve 1.616 metredir.
-
İkinci bölüm, seyahat süresini ve rotanın varış noktasına olan mesafeyi içerir. Bu örnekte süre ve mesafe 2.466 saniye ve 58.147 metredir.
Yönlendirme başlangıcını, ulaşım şeklini ve rota değiştiricileri belirtme
Yönlendirme başlangıcı, ulaşım şekli, rota değiştiriciler ve yönlendirme tercihleri belirterek arama ve yönlendirme özeti hesaplamasını değiştirebilirsiniz. Seyahat modu ve rota değiştiriciler, Seyahat seçeneklerini belirtme konusundaki örnekte gösterildiği gibi, rota belirtmeden yönlendirme özetlerini hesaplarken aynı şekilde çalışır.
Varsayılan olarak, her sonucun ilk ayağı, çoklu çizgiyle tanımlanan başlangıç noktasından her yere olan mesafeyi içerir. Ancak, istekte yönlendirme kaynağını açıkça belirterek bu varsayılanı geçersiz kılabilirsiniz. Belirtilirse tüm yanıtlardaki ilk adım, belirtilen rota başlangıcından itibaren mesafeleri ve süreyi belirtir. Bu, çoklu çizgi başlangıcındaki başlangıcı geçersiz kılar.
Aşağıdaki örnekte, rota başlangıcı olarak Kaliforniya, San Mateo'nun koordinatlarını belirtiyor, geçiş ücretlerinden kaçınılmasını istiyor ve sonuç sayısını 5 olarak ayarlıyorsunuz:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food", "maxResultCount": 5, "searchAlongRouteParameters": { "polyline": { "encodedPolyline": "ROUTE_POLYLINE" } }, "routingParameters": { "origin": { "latitude": 37.56617, "longitude": -122.30870 }, "travelMode":"DRIVE", "routeModifiers": { "avoidTolls": 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'
Aşağıdaki resimde, rota çoklu çizgisini, yeni başlangıç noktasını (açık mavi raptiye) ve arama sonuçlarındaki yerleri (yeşil raptiyeler) içeren bir harita gösterilmektedir. Tüm sonuçların rota üzerinde olduğunu ancak San Mateo'dan sonraki sonuçların farklı olduğunu fark edin:

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.