사용자에게 가장 빠른 경로뿐 아니라 상황에 맞는 대체 경로를 제공하면 내비게이션 경험을 한층 개선할 수 있습니다. Google 지도 Routes API의 Alternative Routes 기능을 사용하면, 기본 경로 외 최대 3개의 다른 경로를 함께 받아와 선택지를 제공할 수 있습니다.
1. 대체 경로 개요
- 기본적으로 Routes API는 출발지(origin)에서 도착지(destination)까지 가장 빠른 경로 하나를 반환합니다.
computeAlternativeRoutes
를true
로 설정하면 최대 3개의 대체 경로(alternative routes)를 함께 반환합니다.- 대체 경로는 중간 경유지(intermediate waypoints)가 없을 때만 제공되며, 경유지가 설정된 요청에서는 반환되지 않습니다.
- 추가 계산이 필요하므로, 대체 경로 요청 시 응답 시간이 다소 늘어날 수 있습니다.
2. 요청 시 유의사항
- 중간 경유지를 지정하면 대체 경로가 반환되지 않으므로, 대체 경로를 원하면 단일 구간 요청만 사용하세요.
- 대체 경로는 최대 3개이지만, 상황에 따라 대체 경로가 없으면 기본 경로만 반환될 수 있습니다.
- 응답 시간이 조금 늘어나는 점을 고려해 UI에 로딩 표시를 추가하는 것이 좋습니다.
3. curl 요청 예시
curl -X POST 'https://routes.googleapis.com/directions/v2:computeRoutes' \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels' \
--data-raw '{
"origin": {
"location": { "latLng": { "latitude": 42.340173523716736, "longitude": -71.05997968330408 } }
},
"destination": {
"location": { "latLng": { "latitude": 42.075698891472804, "longitude": -72.59806562080408 } }
},
"travelMode": "DRIVE",
"routingPreference": "TRAFFIC_AWARE",
"computeAlternativeRoutes": true
}'
4. 응답 예시
{
"routes": [
{
"distanceMeters": 150322,
"duration": "5309s",
"routeLabels": ["DEFAULT_ROUTE"]
},
{
"distanceMeters": 157614,
"duration": "6879s",
"routeLabels": ["DEFAULT_ROUTE_ALTERNATE"]
},
{
"distanceMeters": 189311,
"duration": "7376s",
"routeLabels": ["DEFAULT_ROUTE_ALTERNATE"]
}
]
}
5. 폴리라인 포함하기
각 경로를 지도에 시각화하려면 응답에 폴리라인을 포함하세요. 필드 마스크에 routes.polyline
을 추가하면 다음과 같이 인코딩된 폴리라인을 함께 받을 수 있습니다.
-H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.polyline'
{
"routes": [
{
"distanceMeters": 150322,
"duration": "5309s",
"polyline": { "encodedPolyline": "mrlaGtavpLPLBTm…PgA^qC" },
"routeLabels": ["DEFAULT_ROUTE"]
},
{
"distanceMeters": 157614,
"duration": "6879s",
"polyline": { "encodedPolyline": "DmEd`@e@pCo@pCs@z…PgA^qC" },
"routeLabels": ["DEFAULT_ROUTE_ALTERNATE"]
},
{
"distanceMeters": 189311,
"duration": "7376s",
"polyline": { "encodedPolyline": "FVLL|Af@HPAV…PgA^qC" },
"routeLabels": ["DEFAULT_ROUTE_ALTERNATE"]
}
]
}
computeAlternativeRoutes 옵션을 사용하면 사용자에게 다양한 경로 선택지를 제공할 수 있어 내비게이션 서비스의 만족도를 높일 수 있습니다.
해시태그
#Google지도API #RoutesAPI #대체경로 #computeAlternativeRoutes #API가이드
'개발 > 구글지도' 카테고리의 다른 글
구글 지도 Routes API 대중교통 경로 사용 가이드: Transit Routes (0) | 2025.06.03 |
---|---|
구글 지도 Routes API로 짧은 거리 경로 계산하기: Shorter Distance Routes (0) | 2025.06.02 |
구글 지도 Routes API 친환경 경로(Eco Routes) 사용 방법 (0) | 2025.05.31 |
구글 지도 Routes API 오류 처리: Handle Request Errors (0) | 2025.05.30 |
구글 지도 Routes API 응답 이해하기: Route Response 분석 (0) | 2025.05.29 |