Google 지도 Routes API의 Compute Route Matrix 기능을 활용하면, 여러 출발지(origin)와 도착지(destination) 조합에 대해 일괄적으로 대중교통 경로 정보를 계산할 수 있습니다. 버스, 지하철, 기차 등 해당 지역의 대중교통 수단을 반영한 거리·소요 시간은 물론, transitFare
옵션을 통해 요금 정보까지 함께 받아볼 수 있습니다.
1. Transit Route Matrix란?
- Compute Route Matrix는 다수의 출발지와 도착지 조합(origin×destination)에 대한 소요 시간(duration)과 거리(distance) 정보를 배열 형태로 반환합니다.
travelMode
로TRANSIT
를 지정하면, 대중교통(버스·지하철·기차 등)을 이용한 경로 매트릭스를 생성합니다.- 최대 625개의 요소(elements)를 지원하며, 배열의 각 원소는 하나의 출발지-도착지 경로를 나타냅니다.
2. 요청 전제 조건
- 출발지(origins)와 도착지(destinations)을 최소 1개 이상 지정해야 합니다.
travelMode
를TRANSIT
으로 설정합니다.X-Goog-FieldMask
헤더 또는?fields=
URL 파라미터로 반환받을 필드를 명시해야 합니다(예:originIndex,destinationIndex,distanceMeters,duration,status,travelAdvisory.transitFare
).
3. 예시 요청 (curl)
curl -X POST \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: originIndex,destinationIndex,distanceMeters,duration,status,travelAdvisory.transitFare' \
--data-raw '{
"origins": [
{
"waypoint": {
"location": {
"latLng": { "latitude": 37.420761, "longitude": -122.081356 }
}
}
},
{
"waypoint": {
"location": {
"latLng": { "latitude": 37.403184, "longitude": -122.097371 }
}
}
}
],
"destinations": [
{
"waypoint": {
"location": {
"latLng": { "latitude": 37.420999, "longitude": -122.086894 }
}
}
},
{
"waypoint": {
"location": {
"latLng": { "latitude": 37.383047, "longitude": -122.044651 }
}
}
}
],
"travelMode": "TRANSIT"
}' 'https://routes.googleapis.com/v2:computeRouteMatrix'
4. 응답 예시
[
{
"originIndex": 1,
"destinationIndex": 1,
"status": "OK",
"distanceMeters": 8709,
"duration": "2754s",
"travelAdvisory": {
"transitFare": {
"currencyCode": "USD",
"units": "2",
"nanos": 500000000
}
}
},
{
"originIndex": 0,
"destinationIndex": 0,
"status": "OK",
"distanceMeters": 530,
"duration": "394s",
"travelAdvisory": {
"transitFare": {}
}
},
{
"originIndex": 1,
"destinationIndex": 0,
"status": "OK",
"distanceMeters": 2934,
"duration": "740s",
"travelAdvisory": {
"transitFare": {
"currencyCode": "USD",
"units": "2",
"nanos": 500000000
}
}
},
{
"originIndex": 0,
"destinationIndex": 1,
"status": "OK",
"distanceMeters": 9883,
"duration": "3049s",
"travelAdvisory": {
"transitFare": {
"currencyCode": "USD",
"units": "5"
}
}
}
]
5. 필드 마스크 설정 팁
originIndex
와destinationIndex
로 각 요소가 어떤 조합인지 식별할 수 있습니다.distanceMeters
,duration
외에travelAdvisory.transitFare
를 포함하면 요금 정보를 함께 받아올 수 있습니다.- 불필요한 필드를 제외해 응답 크기와 지연 시간을 최소화하세요.
6. 활용 사례 및 주의사항
- 택시·배차 서비스: 가장 가까운 대중교통 환승 조합을 빠르게 찾을 때 유용합니다.
- 물류·배송: 공공 교통을 활용한 마지막 마일 배송 시, 소요 시간과 비용을 일괄 분석할 수 있습니다.
- 배열 크기(origin×destination)가 625를 초과하지 않도록 주의해야 합니다.
- 대중교통 경로 매트릭스는 다중 경로(polylines) 정보를 반환하지 않으므로, 상세 구간 안내가 필요할 땐 Compute Routes를 별도 호출해야 합니다.
Compute Route Matrix를 이용한 대중교통 경로 매트릭스는, 다양한 출발지와 도착지 조합에 대한 거리·시간·요금 정보를 한 번에 제공해 주는 강력한 기능입니다.
'개발 > 구글지도' 카테고리의 다른 글
구글 지도 Compute Route Matrix 톨 요금 계산하기: Calculate Toll Fees for Route Matrix (0) | 2025.06.21 |
---|---|
구글 지도 Compute Route Matrix에서 트래픽 모델 최적화 설정하기: Config Trade-Offs (Route Matrix) (0) | 2025.06.20 |
구글 지도 Routes API Compute Route Matrix 응답 이해하기: Route Matrix Response (0) | 2025.06.18 |
구글 지도 Routes API 매트릭스에서 위치 지정하기: Route Matrix (1) | 2025.06.17 |
구글 지도 Routes API 경로 매트릭스 반환 필드 선택 방법 (0) | 2025.06.16 |