Flutter

[Flutter] vworld에서 좌표에 맞는 주소를 받지 못하는 문제 해결

mjjayce 2025. 4. 16. 21:23

기기 위치(위도, 경도)를 받아 Vworld에서 api요청으로 해당 좌표의 주소를 받아오는 앱을 구현 중,

 

국내의 유효한 좌표를 입력해도 유효한 주소를 받을 수 없는 문제가 지속적으로 발생했다. 

 

함수의 어느 부분에서 코드가 생각대로 실행되지 않는지 확인하기 위해 진행상황을 확인하는 print() 문을 사이사이에 넣었다.

 

디버그 콘솔 결과

해당 좌표는 경복궁 좌표.

 

 

찾아보니 산 같은 곳은 주소가 제대로 잡히지 않는 경우가 있다고 해서 확실히 주소가 있을, 건물 위주로 좌표를 바꿔가며 시도해 보았지만 여전히 3번 단계에서부터 null 값이 출력되었다.

 

 

뭔가 놓치고 있는 점이 있나 확인하기 위해 vworld에서 api레퍼런스를 찾아보았다.

https://www.vworld.kr/dev/v4dv_search2_s001.do

지금까지 road유형을 사용했으니 parcel 유형을 시도해보았다.

 

 

허무할 정도로 잘 실행되는 모습

 

좌표를 도로 주소로 받아오는 데 api상의 문제가 있는 모양이다. 좌표를 지번 주소로 받아오는 것은 깔끔하게 잘 실행되었다.

 

 

다만, 이 이후에는 검색어가 너무 길어 검색이 잘 이루어지지 않는 문제가 있었다. 

이것은 주소 데이터 중 '동', '읍', '면' 이 포함된 어절을 사용해 검색하는 것으로 해결했다.

 

 

++ 25.04.21 수정

 

기존에는 브이월드 검색 api를 사용하였으나 관련 강의를 듣던 중 2D 데이터 api - '읍면동'이 더 적합하다는 것을 알게 되었다. 

리퀘스트와 기타 파라미터들을 변경해 해당 api를 불러왔고, 결과적으로 검색어 후처리를 하지 않아도 읍, 면, 동 단위의 검색이 가능하게 되었다.

 

수정 코드