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

기능을 사용해 보세요.
API 탐색기를 사용하면 API 및 API 옵션에 익숙해질 수 있도록 샘플 요청을 할 수 있습니다.
페이지 오른쪽에서 API 아이콘 api을 선택합니다.
원하는 경우 요청 매개변수를 수정합니다.
실행 버튼을 선택합니다. 대화상자에서 요청을 보낼 때 사용할 계정을 선택합니다.
API 탐색기 패널에서 전체 화면 아이콘 전체 화면을 선택하여 API 탐색기 창을 펼칩니다.