라우팅 요약 계산
텍스트 검색 (신규) 또는 주변 지역 검색 (신규)을 사용하여 응답에서 각 장소까지의 이동 시간과 거리를 계산하려면 다음 단계를 따르세요.
-
요청에
routingParameters.origin
매개변수를 전달하여 라우팅 출발점의 위도 및 경도 좌표를 지정합니다. 이 매개변수는 응답에서 각 장소까지의 시간과 거리를 계산하는 데 필요합니다. -
응답에
routingSummaries
배열이 포함되도록 필드 마스크에routingSummaries
를 포함합니다. 이 배열에는 응답의 경로 출발지에서 각 장소까지의 이동 시간과 거리가 포함됩니다.
API 탐색기를 사용하면 API 및 API 옵션에 익숙해질 수 있도록 실시간으로 요청할 수 있습니다.
사용해 보기텍스트 검색 (신규) 사용하기
다음 요청에서는 텍스트 검색 (신규) 응답에서 각 장소까지의 이동 시간과 거리를 계산합니다.
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'
응답에는 두 개의 JSON 배열이 포함됩니다. places
배열에는 일치하는 장소가 포함되고 routingSummaries
배열에는 각 장소까지의 이동 시간과 거리가 포함됩니다.
{ "places": [ { object (Place) } ] "routingSummaries": [ { object (RoutingSummary) } }
routingSummaries
배열의 각 요소는 places
배열의 장소와 상응하는 배열 위치에 있습니다. 즉, routingSummaries[0]
의 요소는 places[0]
의 장소에 해당합니다.
routingSummaries
의 배열 길이는 places
의 배열 길이와 같습니다. 장소의 routingSummary
를 사용할 수 없는 경우 배열 항목은 비어 있습니다.
이 예에서는 라우팅 출발지에서 각 장소까지의 소요 시간과 거리를 계산하므로 응답의 routingSummaries.legs
필드에는 라우팅 출발지에서 장소까지의 duration
및 distanceMeters
가 포함된 단일 Leg
객체가 포함됩니다.
{ "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 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3fa97cd745:0x6aecf365bf497c08!3e0" }, { "legs": [ { "duration": "562s", "distanceMeters": 2345 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3da97f60c1:0x845f3273bd764f6c!3e0" }, … ] }
이 예에서 라우팅 출발지에서 결과의 첫 번째 장소까지의 시간과 거리는 597초 및 2, 607미터임을 알 수 있습니다.
주변 검색 사용하기
이 예에서는 Nearby Search 응답에서 각 장소까지의 이동 시간과 거리를 계산합니다. 이 예에서는 호주 시드니의 레스토랑을 검색하고 위치 제한 및 경로 출발지를 동일한 위도 및 경도 좌표로 설정합니다.
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
와 라우팅 출발점에 동일한 좌표를 사용할 필요는 없습니다. 예를 들어 locationRestriction
를 시드니의 중심점으로 설정하여 검색 결과를 해당 원으로 편향시킬 수 있습니다. 하지만 다음으로 경로 출발점을 집의 좌표로 설정합니다. 즉, 검색 원의 다른 위치로 설정합니다. 그러면 요청이 검색 결과를 원 안에 편향시키고 집의 위치를 기반으로 경로 요약을 계산합니다.
이동 옵션 지정
기본적으로 시간 및 거리 계산은 자동차를 기준으로 합니다. 하지만 검색에서 차량 유형과 기타 옵션을 관리할 수 있습니다.
-
routingParameters.travelMode
매개변수를 사용하여 전송 모드를DRIVE
,BICYCLE
,WALK
또는TWO_WHEELER
로 설정합니다. 이러한 옵션에 관한 자세한 내용은 경로에 사용할 수 있는 차량 유형을 참고하세요. -
routingParameters.routingPreference
속성을 사용하여 라우팅 환경설정 옵션을TRAFFIC_UNAWARE
(기본값),TRAFFIC_AWARE
또는TRAFFIC_AWARE_OPTIMAL
로 설정합니다. 각 옵션에는 데이터 품질과 지연 시간이 다릅니다. 자세한 내용은 트래픽 데이터를 포함하는 방법 및 여부 지정을 참고하세요.routingParameters.routingPreference
속성은 미리보기 (GA 이전)directionsUri
필드에 포함된 경로에 영향을 미칩니다. Google 지도에서 링크를 열면 교통 옵션이 표시되기 때문입니다. -
routingParameters.routeModifiers
속성을 사용하여avoidTolls
,avoidHighways
,avoidFerries
,avoidIndoor
에 지정합니다. 이러한 옵션에 관한 자세한 내용은 경로 피할 지형지물 지정을 참고하세요.
다음 예에서는 이동 모드를 DRIVE
로 지정하고 고속도로를 피하도록 지정합니다.
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'