다크 모드
다중 출발지 길찾기
한 개 이상의 출발지에서 하나의 목적지까지의 경로 정보를 제공합니다. 출발지는 최대 100개까지 설정할 수 있습니다.
DANGER
Request
요청 호출 방식과 각 요청 헤더에 포함될 내용을 안내합니다. 요청이 실패할 경우 문제 해결하기에서 에러에 대한 상세 내용을 확인하세요.
호출 방식
| Method | URL |
|---|---|
POST | https://apis-navi.kakaomobility.com/affiliate/bicycle/v1/origins/directions |
요청 헤더(Header)
| Parameter | Description |
|---|---|
| Authorization | KakaoAK ${REST_API_KEY} {REST_API_KEY}: 카카오디벨로퍼스에서 발급 받은 REST API 키 |
| service | 서비스를 구분하는 임의의 문자열 |
| Content-Type | application/json |
요청 코드 예제
bash
curl -v -X POST "https://apis-navi.kakaomobility.com/affiliate/bicycle/v1/origins/directions" \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-H "service: test" \
-H "Authorization: KakaoAK ${REST_API_KEY}" \ // 카카오디벨로퍼스에서 발급 받은 API 키 값
-d '{
"origins": [
{
"x": 127.10909763718492,
"y": 37.39589794700353
},
{
"x": 127.11374021945907,
"y": 37.39583371633596
}
],
"destination": {
"x": 127.11022639567598,
"y": 37.39404121844038
}
}'요청에 대한 파라미터는 다음과 같습니다.
| Name | Type | Description | Required |
|---|---|---|---|
origins | Object[] | 출발지. 최대 100개까지 허용 | 필수 |
x | Double | X 좌표(경도) | 필수 |
y | Double | Y 좌표(위도) | 필수 |
destination | Object | 목적지 | 필수 |
x | Double | X 좌표(경도) | 필수 |
y | Double | Y 좌표(위도) | 필수 |
radius | Integer | 출발지와 목적지 간의 길찾기 반경(미터) (기본값: 2000, 최대: 12000) 값을 입력하지 않거나 0 또는 음수 값을 입력할 경우 기본값으로 설정되며, 최댓값을 초과하는 값을 입력할 경우 최댓값 12000으로 고정됨. | 선택 |
priority | String | 경로 탐색 우선순위 옵션 다음 중 하나: DISTANCE: 최단 경로MAIN_STREET: 큰길 우선BIKE_ROAD: 자전거 전용 도로 우선(기본값: DISTANCE) | 선택 |
summary | Boolean | 요약 정보만 제공 여부true: 요약 정보 제공false: 요약 정보 미제공(기본값: false) | 선택 |
default_speed | float | 도착 예상 시간(ETA) 측정 시 사용할 속도 설정 기본값: 0 (이 경우 15 km/h로 설정되고 0 이외의 숫자를 입력하면 해당 속도로 예상 시간이 측정됨.) 최솟값: 0, 최댓값 제한 없음. | 선택 |
Response
응답 성공 시 요청에 대한 성공 여부를 HTTP 상태 코드로, 요청 본문은 JSON 포맷으로 전달합니다.
응답 코드 예제
bash
{
"trans_id": "01872690b462710f821af295cecf28b9",
"routes": [
{
"result_code": 0,
"result_message": "성공",
"summary": {
"distance": 336,
"duration": 337
},
"sections": [
{
"distance": 336,
"duration": 337,
"roads": [
{
"distance": 30,
"duration": 27,
"vertexes": [
127.10908798259713,
37.396048904441905,
127.10939289367556,
37.39605119783509,
127.10941569256795,
37.39603334775928
]
},
// … 중간 코드 생략
{
"distance": 93,
"duration": 84,
"vertexes": [
127.11123624251599,
37.39392949433143,
127.1106829007183,
37.393925340492096,
127.11049166915824,
37.39386082897841,
127.11020924587568,
37.393867718189924
]
}
]
}
]
}
]
}요청 응답에 대한 객체 정보는 다음과 같습니다.
| Name | Type | Description | Required |
|---|---|---|---|
trans_id | String | 경로 요청 ID | 필수 |
routes | Object[] | 경로 정보 | 필수 |
result_code | Int | 경로 탐색 결과 코드 | 필수 |
result_message | String | 경로 탐색 결과 메시지 | 필수 |
summary | Object | 경로 요약 정보 | 선택 |
distance | Int | 전체 검색 결과 거리(미터) | 필수 |
duration | Int | 목적지까지 소요 시간(초) | 필수 |
sections | Object[] | 구간별 경로 정보로 summary가 false로 설정된 경우에 정보가 제공됨.경유지가 존재할 경우 {경유지 수 + 1} 만큼의 섹션(경로 구간) 생성 (예: 경유지 수가 2개인 경우 총 3개의 섹션 정보가 생성, section1: 출발지 → 경유지 1 section2: 경유지 1 → 경유지 2 section3: 경유지 2 → 목적지) | 선택 |
distance | Int | 섹션 거리(미터) | 필수 |
duration | Int | 전체 검색 결과 이동 시간(초) | 필수 |
roads | Object[] | 도로 정보 | 필수 |
distance | Int | 도로 길이(미터) | 필수 |
duration | Int | 예상 이동 시간(초) 현재 예상 이동 시간 및 실제 이동 시간은 동일한 값으로 설정 | 필수 |
vertexes | Double[] | X, Y 좌표로 구성된 1차원 배열 (예: [127.10966790676201, 37.394469584427156, 127.10967141980313, 37.39512739646385] ) | 필수 |