티스토리 뷰

이번 글에서는 다음지도 API를 이용하여 서비스를 개발하시는 분들이 다음지도 API에서 지원하지 않는 지명/건물명으로 검색하여 좌표 값을 받아오는 방법을 다루어 보겠습니다.


다음지도 API 에서 기본적으로 주소 -> 좌표 변환 API 는 제공을 합니다. 예를들어 부산시 남구 대연동 까지의 좌표 반환은 해주나 해운대바닷가 이런식의 지명, 건물명의 검색은 지원을 해주지 않습니다.


글을 찾아보니 2011년에 그런 문의글이 있었는데 내부적인 문제로 해결 수 서비스 제공예정이라는 답변이 있었으나 지금이... 2014년인데 아직 안해주는 걸 보면 그냥 다른 방법을 찾는 것이 빠릅니다.


그래서 이것저것 찾아보던 도중 네이버에서 제공하는 검색 API 를 이용하는 것입니다. 구글도 제공을하나 좌표계가 달라서 정확한 결과값을 받아오긴 힘들더라구요..

그래서 네이버 검색 API 를 이용하여 (번거롭지만) 좌표를 받아오면 됩니다.


순서를 살펴보면 다음과 같습니다.

1. 네이버 검색지도 API 를 이용하여 KTM 좌표계 값을 받습니다.

2. 다음 좌표변환 API를 이용하여 KTM 좌표계 -> WGS84 좌표계로 변환합니다.

3. 반환한 WGS84 좌표계를 이용하여 다음지도에 적용하면 됩니다.


조금 귀찮은 작업이죠.. 하지만 지금까지 해논 작업이있어서 네이버로 갈아타기가 귀찮은 관계로 패스..


한가지씩 살펴보면..


1. 네이버 검색지도 API 를 이용하여 KTM 좌표계 값을 받습니다.

http://openapi.naver.com/search?key=e1fc92f858a9fd2a85f4bb7189357d9b&query=kisti&target=local&start=1&display=10


위의 URL은 네이버 검색지도 API 요청하는 URL 입니다. 

key= 에 발급받은 키값을 넣어주시고, query= 에 원하는 검색어를 입력하시면 됩니다.



그리하면 위의 그림처럼 검색 결과를 XML file 로 출력해줍니다.

mapx, mapy 태그 값이 KTM 좌표계입니다.


네이버 지역검색 API 의 요청변수, 출력결과 필드에 대해 좀더 알고 싶으시면

http://developer.naver.com/wiki/pages/SrchLocal 로 접속하시면 됩니다.



2. 다음 좌표변환 API를 이용하여 KTM 좌표계 -> WGS84 좌표계로 변환합니다.


다음 좌표변환 API 에서 여러 좌표계값들을 변환시켜줍니다.

표를 살펴보면 아래와 같습니다.

다음 좌표변환 API 에 대해 좀더 살펴보려면 아래 URL 로 접속하시면 됩니다.

http://dna.daum.net/apis/local/ref#transcoord



그래서 요청을 해보면,

http://apis.daum.net/local/geo/transcoord?apikey=DAUM_LOCAL_DEMO_APIKEY&x=500989&y=282198&fromCoord=KTM&toCoord=WGS84



이렇게 다음에서 사용하는 WGS84 좌표계 값을 받아올 수 있습니다.

그럼 다음지도에 바로 좌표를 적용해서 사용하시면 됩니다.





댓글