daumPostcode / QnA

Daum 우편번호 서비스 Q&A
http://postcode.map.daum.net/guide
90 stars 13 forks source link

roadAddress return값 관련문의 #1056

Open LeeHyobin opened 1 year ago

LeeHyobin commented 1 year ago

안녕하세요 다음api주소 호출후 리턴값에 대한 문의가 있어서 남깁니다.

14256 (하안동 이편한세상센트레빌아파트)

61726 (진월동 대덕훼밀리8차아파트)

현재 내부로직상 roadAddress + “(” + bname + buildingname + “)” 을 연결하여 사용하고 있지만 roadAddress 값이 없어 위와같은 주소지로 입력된 케이스가 확인되어 문의드립니다. 혹시 roadAddress값이 내려오지 않을 케이스가 있는건지 확인한번 해주시면 감사하겠습니다.

추가적으로 address / roadAddress 가 동일한 값으로 내려오고 있는것 같은데 roadAddress에 대한 방어로직으로 address를 사용하여도 무방한지 답변해주시면 감사하겠습니다!

daumPostcode commented 1 year ago

@LeeHyobin 안녕하세요~ 이틀전에 문의 주셨었네요;; 확인이 늦어서 죄송합니다.

https://devtalk.kakao.com/t/api/130894/3

위 디벨로퍼스 사이트에 등록하셨던 이슈였군요. 해당 이슈는 확인하였습니다.

일단 하나만 정의하고 가겠습니다

  1. A케이스 검색어 : 지번주소 검색결과:
    • 첫번째줄(메인주소) : 지번
    • 두번째줄(연관주소) : 도로명 (1개 ~ n 개)

  2. B케이스 검색어 : 도로명주소 or 명확한 도로명 주소는 아니지만, 지번주소가 아닌 모든 검색어 검색결과:
    • 첫번째줄(메인주소) : 도로명
    • 두번째줄(연관주소) : 지번 (1개 ~ n 개)

위와 같이 한 셀마다 이러한 형식으로 묶여져서 검색결과가 리스팅 됩니다.

  1. roadAddress값이 없는 케이스 ㄴ 지번으로 검색하여 검색결과의 각 셀에서 지번-도로명 순으로, 지번주소가 메인주소이고, 도로명주소가 연관주소일때, 연관주소의 경우엔 하나의 지번에 여러개의 건물이 묶여있을 수 있는데, 이때 n개의 도로명 주소가 나오게 됩니다. 이러한 경우 사용자가 "지번주소"를 선택하면, N개의 도로명주소중 첫번째 주소가 데이터에 들어가게 되는데; 이땐 roadAddress에 들어가지 않고, autoRoadAddress라는 항목에 들어가게 됩니다. 이는 공식가이드 페이지(postcode.map.daum.net/guide)에 적혀 있으니 참고 바랍니다. 그래서 oncomplete함수에서 분기문 처리가 필요합니다.

  2. roadAddress와 address가 동일한 값인 경우는 ㄴ B케이스에 해당되는 경우로, 메인주소가 도로명주소일 경우, address값과, roadAddress값이 같을 수 있습니다. 왜냐하면 address값에는 메인주소 영역에 해당하는 주소 데이터가 들어가기 때문입니다. 그래서 말씀하신 roadAddress에 대한 방어로직으로 address를 사용하면 안되고, 1번의 답변처럼 autoRoadAddress를 사용하셔야 합니다.

이 부분 확인 바랍니다.