Rota özetlerini rota üzerinde arama ile birleştirme
Yol planlama özeti hesaplamalarını rota üzerinde arama ile birleştirebilirsiniz. Bu durumda Metin Arama (Yeni), yanıttaki her bir konuma ve ardından her bir konumdan rotanın nihai hedefine kadar olan seyahat süresini ve mesafeyi döndürür.
Bir rota boyunca arama yapmanın yanı sıra rota özetini hesaplamak için Metin Arama'yı (Yeni) kullanmak üzere:
-
Yanıtta rota poli çizgisi döndüren bir rota hesaplamak için Routes API'yi kullanın.
-
Arama sonuçlarını rotaya yönlendirmek için rota poli çizgisini Metin Arama'ya (Yeni) göndermek ü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 kaynağından yanıttaki her yere kadar olan süreyi ve mesafeyi içerir.
API Gezgini, API'ye ve API seçeneklerine aşina olabilmeniz için canlı istek göndermenize olanak tanır:
Deneyin.Metin Arama (Yeni), varsayılan olarak aramayı rotanın tamamında gerçekleştirir:
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ıt iki dizi içerir: Eşleşen yerleri içeren places
dizisi ve her bir yere gitme süresini ve mesafesini 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" }, … ] }
Metin Arama (Yeni), legs
dizisindeki her giriş için iki uçaklı seyahat süresini döndürür:
-
İlk aşama, seyahat süresini ve başlangıç noktasından yere olan mesafeyi içerir. Bu örnekte, başlangıçtan sonuçlardaki ilk yere kadar olan süre ve mesafe 285 saniye ve 1.616 metredir.
-
İkinci etap, seyahat süresini ve yerden rotanın varış noktasına olan mesafeyi içerir. Bu örnekte süre ve mesafe 2.466 saniye ve 58.147 metredir.
Yönlendirmenin başlangıç noktasını, ulaşım şeklini ve rota değiştiricileri belirtme
Rota başlangıç noktasını, ulaşım şeklini, rota değiştiricileri ve rota tercihlerini belirterek arama ve rota özeti hesaplamasını değiştirebilirsiniz. Seyahat modu ve rota değiştiriciler, Seyahat seçeneklerini belirtme konusunda gösterildiği gibi bir rota belirtmeden rota özetlerini hesaplarken olduğu gibi çalışır.
Varsayılan olarak, her sonucun ilk ayağı, poli çizgi tarafından tanımlanan başlangıçtan her yere olan mesafeyi içerir. Ancak istekte bir yönlendirme kaynağını açıkça belirterek bu varsayılan değeri geçersiz kılabilirsiniz. Belirtilen tüm yanıtların ilk ayağı, poli çizgisindeki kaynağı geçersiz kılarak belirtilen rota kaynağından olan mesafeleri ve süreyi belirtir.
Sonraki örnekte, rota başlangıcı olarak San Mateo, CA koordinatlarını belirtir, otoyol ücretlerinden kaçınmayı belirtir ve sonuç sayısını 5 olarak ayarlarsınız:
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 çok ç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 olmasına ancak San Mateo'nun ötesinde olmasına dikkat edin: