티스토리 뷰
1. 네이버에서 제공하는 지도를 사용하기 위해서는 네이버 개발자 센터에서 키를 발급받아야한다.(http://developer.naver.com)
들어가서 키 발급/관리 메뉴에서 지도 api키를 발급한다. 테스트할 서버의 url이나 로컬url(포트포함)을 써주고 키발급을 하면된다.
2. 지도를 보기 위해서 기본 골격을 jsp페이지에 넣어준다.(여러가지 기능을 테스트 해보고 싶으면 네이버 개발자 api참고)
- 자바스크립트코드
1 |
<script src="http://openapi.map.naver.com/openapi/naverMap.naver?ver=2.0&key=발급받은키"></script> |
1
2
3
4
5
6
7
8
9
10 |
window.onload = function(){
new nhn.api.map.Map('map',{
point : mapPoint,
zoom:10,
mapMode:1
});
}; |
- jsp코드
1 |
<div id="map" style="width:700px; height:450px; display:inline; float:left; position: relative;" ></div> |
위 처럼 하면 기본적인 지도는 보일 것이다.
다음에는 검색에 따른 지역의 지도를 보여주는 기능을 하도록 해보았다.
jsp페이지에서 ajax로 처리해서 리턴받은 x,y좌표에 기초하여 페이지를 다시 리프레쉬 한다.
네이버 api를 보면
이 url을 요청하면 xml문서 웹페이지가 나타나게 된다. 여기에는 지역의 좌표값도 들어있다.
내가 코딩한 방식은
jsp에서 ajax요청 - java서버단에서 jdom라이브러리를 이용한 xml파싱하여 좌표 값 가져옴 - jsp리프레쉬 해당 좌표지도를 보여줌
아래는 jdom을 이용해서 x,y좌표값을 가져오는 코드이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 |
public ModelAndView naverSearch(HttpServletRequest req) throws UnsupportedEncodingException{
String result = "";
String url = req.getParameter("url");
String name = req.getParameter("name");
name = URLDecoder.decode(name, "UTF-8");
url = url+name.trim();
InputStream is = null;
Element xPoint = null;
Element yPoint = null;
try {
is = new URL(url).openStream();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try{
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(is);
Element rootElement = doc.getRootElement();
Namespace nameSpace = rootElement.getNamespace();
List eItems = rootElement.getChildren();
Iterator it = eItems.iterator();
while(it.hasNext()){
Element eItem = (Element)it.next();
List list = eItem.getChildren();
if(eItem.getName().equals("item")){
Element point = eItem.getChild("point", nameSpace);
xPoint = point.getChild("x", nameSpace);
yPoint = point.getChild("y", nameSpace);
//break;
}
}
}catch(JDOMException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
ModelAndView mav = new ModelAndView();
mav.setViewName("jsonView");
result = (xPoint == null) ? "fail" : "success";
if("success".equals(result)){
mav.addObject("xPoint", xPoint.getText());
mav.addObject("yPoint", yPoint.getText());
}
mav.addObject("result",result);
return mav;
} |
'SPRING > 정리' 카테고리의 다른 글
gmail smtp를 이용하여 spring 메일 보내기 기능 구현 (2) | 2015.10.23 |
---|---|
[spring]에서 sitemesh설정 (레이아웃 템플릿) (0) | 2014.05.17 |
quartz 스케쥴러 스프링에서 사용법 (2) | 2014.03.05 |
jsonView 빈 객체 사용시 ajax 한글처리 (0) | 2014.01.24 |
컨트롤러 빈객체를 적용하지 않아도 자동 매핑 (0) | 2014.01.03 |
Comments