ASP에서 네이버맵 지오코딩(주소->좌표) 예제입니다.

아래 예제는 파일:ANSI, 소스:euc-kr 인코딩 설정에서 실행한 예제입니다.


빨간색으로 표시된 부분에는 네이버에서 발급 받은 API Key를 입력하셔야합니다.

참고) 네이버 지도 API 발급 방법 http://h5bak.tistory.com/151


파란색으로 표시된 부분은 XML 인코딩을 utf-8로 받아오는 부분입니다.

한글이 깨지거나 값을 불러오지 못할 경우 인코딩을 변경해보시기 바랍니다.


핑크색으로 표시된 부분은 파라미터를 넘겨줄 때 공백문자(띄어쓰기)를 제거해야 번지까지 정확하게 변환이 되더라구요.


네이버 지도 API 사용 시 좌표변환 결과는 XML 형태의 결과로 받아옵니다.

xml 결과를 파싱하여 사용하면 됩니다.

참고) XML에서 하위노드의 값을 컨트롤하는 사용 방법 : http://h5bak.tistory.com/149


<%

Session.CodePage  = 949

Response.CharSet  = "euc-kr"

Response.AddHeader "Pragma","no-cache"

Response.AddHeader "cache-control", "no-staff"

Response.Expires  = -1


addressStr = "강원도 강릉시 송정동"


Set xmlHttp = Server.CreateObject("Microsoft.XMLHTTP")

request_url = "http://openapi.map.naver.com/api/geocode.php?key=발급받은API키&encoding=utf-8&coord=latlng&query=" & Replace(addressStr," ","")

xmlHttp.open "GET", request_url, false

xmlHttp.send(null)

str_xml = xmlHttp.ResponseText


If str_xml <> "" Then

Set xmldoc = Server.CreateObject("Microsoft.XMLDOM")

xmldoc.async = false

xmldoc.validateOnParse = false

xmldoc.loadXML(str_xml)


If xmldoc.selectNodes("//total")(0).text > 0 Then

latStr = xmldoc.selectNodes("//y")(0).text '위도

lngStr = xmldoc.selectNodes("//x")(0).text '경도

Else

latStr = "0"

lngStr = "0"

End If


Set xmldoc = Nothing

Else

latStr = "0"

lngStr = "0"

End If


  Response.Write("addressStr 의 좌표는") & "<br />"

Response.Write("위도 : " & latStr) & "<br />"

Response.Write("경도 : " & lngStr)


Set xmlHttp = Nothing

%>


실행 결과


※ 네이버 지도는 역지오코딩(좌표->주소)은 제공하지 않습니다.

Posted by 준콩ol 준콩ol

댓글을 달아 주세요

  1. yjlcu@naver.com 2014.08.23 09:50  댓글주소  수정/삭제  댓글쓰기

    지나가다나 남기고 갑니다.
    네이버 지도도 좌표로 주소를 검색해 주는 API를 제공하고 있습니다.

    • 준콩ol 준콩ol 2016.04.05 13:06 신고  댓글주소  수정/삭제

      네이버지도 API에는 안드로이드에서 제공되는 것으로 알고 있습니다.
      역지오코딩(Reverse Geocoding)을 위한 URL을 따로 지원하지 않는 것으로 알고 있습니다.

  2. gm_realtor 2017.04.04 15:29 신고  댓글주소  수정/삭제  댓글쓰기

    문의좀 드려도 괜찮을까요?
    저희 사이트내 네이버 지도 api 관련프로그램내용이 위와유사하던데요 얼마전에 네이버 지도 api정책이 바껴서 client id, secret을 입력해서 사용하라고 하던데, 프로그램 문외한이라 도저히 모르겠더라구요. 위코드에서 어떻게 수정해야 되는 알려주시면 정말 고맙겠습니다