경로 요약과 경로 검색 결합
경로 요약 계산을 경로를 따라 검색과 결합할 수 있습니다. 이 경우 텍스트 검색 (신규)은 응답에서 각 장소까지의 이동 시간과 거리를 반환한 다음 각 장소에서 경로의 최종 목적지까지의 거리를 반환합니다.
텍스트 검색 (신규)을 사용하여 경로를 따라 검색과 함께 경로 요약을 계산하려면 다음 단계를 따르세요.
-
Routes API를 사용하여 응답에서 경로 폴리라인을 반환하는 경로를 계산합니다.
-
searchAlongRouteParameters.polyline.encodedPolyline
매개변수를 사용하여 경로 다중선 객체를 텍스트 검색 (신규)에 전달하여 검색 결과를 경로에 편향되도록 합니다. 그러면 응답에는 검색 기준과 일치하고 지정된 경로 근처에 있는 장소가 포함됩니다. -
응답에
routingSummaries
배열이 포함되도록 필드 마스크에routingSummaries
를 포함합니다. 이 배열에는 응답의 경로 출발지에서 각 장소까지의 이동 시간과 거리가 포함됩니다.
기본적으로 텍스트 검색 (신규)은 전체 경로를 따라 검색을 실행합니다.
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'
응답에는 두 개의 배열이 포함됩니다. 일치하는 장소가 포함된 places
배열과 각 장소까지의 이동 시간과 거리가 포함된 routingSummaries
배열입니다.
{ "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" }, … ] }
legs
배열의 각 항목에 대해 텍스트 검색 (신규)은 왕복 이동 시간을 반환합니다.
-
첫 번째 구간에는 출발지에서 장소까지의 이동 시간과 거리가 포함됩니다. 이 예에서 결과의 원점부터 1위까지의 시간과 거리는 285초 및 1, 616미터입니다.
-
두 번째 구간에는 장소에서 경로 목적지까지의 이동 시간과 거리가 포함됩니다. 이 예시에서 시간과 거리는 2,466초 및 58,147미터입니다.
라우팅 출발지, 이동 모드, 경로 수정자를 지정합니다.
경로 출발지, 이동 수단, 경로 수정자, 경로 환경설정을 지정하여 검색 및 경로 요약 계산을 수정할 수 있습니다. 이동 모드 및 경로 수정자는 이동 옵션 지정 주제에 설명된 대로 경로를 지정하지 않고 라우팅 요약을 계산하는 것과 동일하게 작동합니다.
기본적으로 각 결과의 첫 번째 구간에는 다중선으로 정의된 출발지에서 각 장소까지의 거리가 포함됩니다. 그러나 요청에서 라우팅 출처를 명시적으로 지정하여 이 기본값을 재정의할 수 있습니다. 지정된 경우 모든 응답의 첫 번째 구간은 지정된 경로 출발지로부터의 거리와 이동 시간을 지정하여 다중선의 출발지를 재정의합니다.
다음 예에서는 라우팅 출발점을 캘리포니아 주 산마테오의 좌표로 지정하고, 통행료를 피하도록 지정하고, 결과 수를 5로 설정합니다.
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'
다음 이미지는 경로 다중선, 새 출발점(연한 파란색 핀), 검색 결과의 장소 (녹색 핀)가 포함된 지도를 보여줍니다. 모든 결과가 경로에 있지만 샌매테오를 지나는 것을 확인할 수 있습니다.