네이버 지도api 사용하기
PHP 2009. 9. 9. 11:41
<?
include "class.httpEx.php";
///query 는 주소를 받는다
if($_REQUEST['query']){
$query =$_REQUEST['query'];
$http = new HttpEx("http://maps.naver.com/api/geocode.php?key=230a0c158d6b3f65d3a2f19cae9398b8&query=$query ");
}else{
echo "<script>alert('물품위치가 없습니다.')</script>";
echo "<script>window.close()</script>";
exit;
$http = new HttpEx("http://maps.naver.com/api/geocode.php?key=230a0c158d6b3f65d3a2f19cae9398b8&query=디폴트위치 ");
}
if($http->Open()){
$http->SendRequestHeader();
// echo $http->getResponseHeader()."<P>";//전체응답헤더
// echo $http->getResponseHeader("Server")."<P>";//특정헤더
$http->Close();
}
////xml.xml 지도 위치를 받아서 xml파싱으로 표시를해줌
if($http->Open()){
$subs = $http->SendRequestBody();
$ttte=fopen("./xml.xml","w");
fwrite($ttte,$subs);
fclose($ttte);
$http->Close();
}
if($http->Open()){
// $http->getResponseHeader();
// echo $http->getCookie();//전체쿠키
// echo $http->getCookie("특정값");//특정값
// $http->Close();
}
?>
<script>
function loadxml()
{
var xDoc = new ActiveXObject("Microsoft.XMLDOM");
xDoc.async = false;
xDoc.load("xml.xml");
var root = xDoc.documentElement;
var html = "";
x= root.getElementsByTagName("x")['0'].firstChild.nodeValue ;
y= root.getElementsByTagName("y")['0'].firstChild.nodeValue ;
}
loadxml();
</script>
<body leftmargin=0 topmargin=0>
<div style='visibility : hidden;position:absolute; left:200px; top:70px;'><span style="font-weight:bold">지도서비스</span></div>
<SCRIPT LANGUAGE="JavaScript" src="http://maps.naver.com/js/naverMap.naver?key=230a0c158d6b3f65d3a2f19cae9398b8&query=광주광역시"></SCRIPT>
<div id='mapContainer' style='width:500px;height:500px'></div>
<SCRIPT LANGUAGE="JavaScript">
<!--
var mapObj = new NMap(document.getElementById('mapContainer'),500,500);
mapObj.setCenterAndZoom(new NPoint(x,y),3);
var zoom =new NZoomControl();
var save = new NSaveBtn();
zoom.setAlign("left");
zoom.setValign("bottom");
save.setValign("top");
mapObj.addControl(save);
mapObj.addControl(zoom);
// 지도 가운데 이미지로 마커 표시해줌
// 센터에 표시를 남기기 위한 이미지 파일 설정
var iconcenter = "http://www.xwire.co.kr/image/pushpin.gif";
// 센터 값을 가져와서 마커 생성
var centermarker = new NMark(mapObj.getCenter(),new NIcon(iconcenter,new NSize(20,30)));
// 실제로 지도 위에 뿌려줌
mapObj.addOverlay(centermarker);
// 현재 센터 위치를 알려주기 위한 이미지 설정
var iconcentercross = "http://www.xwire.co.kr/image/marker-green.gif";
// 최초 센터 값으로 마커 생성
var centermarkercross = new NMark(mapObj.getCenter(),new NIcon(iconcentercross,new NSize(20,30)));
// 센터 위치에 마커 표시
function centerDispMarker()
{
centermarker = new NMark(mapObj.getCenter(),new NIcon(iconcenter,new NSize(20,30)));
mapObj.addOverlay(centermarker);
//alert(mapObj.getCenter().getX() +" " +mapObj.getCenter().getY())
}
// 바로 전에 찍은 센터 위치에 마커 표시 삭제
function centerDelMarker()
{
mapObj.removeOverlay(centermarker);
}
// 표시된 마커 전부 삭제
function allDelMarker()
{
mapObj.clearOverlays();
}
// 이벤트에서 호출하는 이전 센터 마커는 삭제 하고 새로운 센터 마커를 표시
function senddraged(movepos)
{
zoomlevel=mapObj.getZoom();
nposx=(movepos[0]+movepos[2])/2;
nposy=(movepos[1]+movepos[3])/2;
mapObj.removeOverlay(centermarkercross);
centermarkercross = new NMark(new NPoint(nposx,nposy),new NIcon(iconcentercross,new NSize(20,30)));
mapObj.addOverlay(centermarkercross);
}
// 지도에 이벤트를 등록한다. 이벤트로 계속 해서 센터를 표시해주는 마커를 찍는다.
NEvent.addListener(mapObj,"endDrag",senddraged);
// 현재 네이버의 위치를 얻어서 구글 위성지도 팝업 창을 오픈
function getCenterLoc()
{
var centerPoint = mapObj.getCenter();
var frm = document.mapsch;
frm.x.value=centerPoint.getX();
frm.y.value=centerPoint.getY();
frm.zl.value=mapObj.getZoom();
// 팝업으로 폼 전송하기
window.open("about:blank","gmapPop","width=500,height=500 scrollbars=0");
frm.action="gmap.jsp";
frm.target = "gmapPop";
frm.submit();
}
//-->
</SCRIPT>
include "class.httpEx.php";
///query 는 주소를 받는다
if($_REQUEST['query']){
$query =$_REQUEST['query'];
$http = new HttpEx("http://maps.naver.com/api/geocode.php?key=230a0c158d6b3f65d3a2f19cae9398b8&query=$query ");
}else{
echo "<script>alert('물품위치가 없습니다.')</script>";
echo "<script>window.close()</script>";
exit;
$http = new HttpEx("http://maps.naver.com/api/geocode.php?key=230a0c158d6b3f65d3a2f19cae9398b8&query=디폴트위치 ");
}
if($http->Open()){
$http->SendRequestHeader();
// echo $http->getResponseHeader()."<P>";//전체응답헤더
// echo $http->getResponseHeader("Server")."<P>";//특정헤더
$http->Close();
}
////xml.xml 지도 위치를 받아서 xml파싱으로 표시를해줌
if($http->Open()){
$subs = $http->SendRequestBody();
$ttte=fopen("./xml.xml","w");
fwrite($ttte,$subs);
fclose($ttte);
$http->Close();
}
if($http->Open()){
// $http->getResponseHeader();
// echo $http->getCookie();//전체쿠키
// echo $http->getCookie("특정값");//특정값
// $http->Close();
}
?>
<script>
function loadxml()
{
var xDoc = new ActiveXObject("Microsoft.XMLDOM");
xDoc.async = false;
xDoc.load("xml.xml");
var root = xDoc.documentElement;
var html = "";
x= root.getElementsByTagName("x")['0'].firstChild.nodeValue ;
y= root.getElementsByTagName("y")['0'].firstChild.nodeValue ;
}
loadxml();
</script>
<body leftmargin=0 topmargin=0>
<div style='visibility : hidden;position:absolute; left:200px; top:70px;'><span style="font-weight:bold">지도서비스</span></div>
<SCRIPT LANGUAGE="JavaScript" src="http://maps.naver.com/js/naverMap.naver?key=230a0c158d6b3f65d3a2f19cae9398b8&query=광주광역시"></SCRIPT>
<div id='mapContainer' style='width:500px;height:500px'></div>
<SCRIPT LANGUAGE="JavaScript">
<!--
var mapObj = new NMap(document.getElementById('mapContainer'),500,500);
mapObj.setCenterAndZoom(new NPoint(x,y),3);
var zoom =new NZoomControl();
var save = new NSaveBtn();
zoom.setAlign("left");
zoom.setValign("bottom");
save.setValign("top");
mapObj.addControl(save);
mapObj.addControl(zoom);
// 지도 가운데 이미지로 마커 표시해줌
// 센터에 표시를 남기기 위한 이미지 파일 설정
var iconcenter = "http://www.xwire.co.kr/image/pushpin.gif";
// 센터 값을 가져와서 마커 생성
var centermarker = new NMark(mapObj.getCenter(),new NIcon(iconcenter,new NSize(20,30)));
// 실제로 지도 위에 뿌려줌
mapObj.addOverlay(centermarker);
// 현재 센터 위치를 알려주기 위한 이미지 설정
var iconcentercross = "http://www.xwire.co.kr/image/marker-green.gif";
// 최초 센터 값으로 마커 생성
var centermarkercross = new NMark(mapObj.getCenter(),new NIcon(iconcentercross,new NSize(20,30)));
// 센터 위치에 마커 표시
function centerDispMarker()
{
centermarker = new NMark(mapObj.getCenter(),new NIcon(iconcenter,new NSize(20,30)));
mapObj.addOverlay(centermarker);
//alert(mapObj.getCenter().getX() +" " +mapObj.getCenter().getY())
}
// 바로 전에 찍은 센터 위치에 마커 표시 삭제
function centerDelMarker()
{
mapObj.removeOverlay(centermarker);
}
// 표시된 마커 전부 삭제
function allDelMarker()
{
mapObj.clearOverlays();
}
// 이벤트에서 호출하는 이전 센터 마커는 삭제 하고 새로운 센터 마커를 표시
function senddraged(movepos)
{
zoomlevel=mapObj.getZoom();
nposx=(movepos[0]+movepos[2])/2;
nposy=(movepos[1]+movepos[3])/2;
mapObj.removeOverlay(centermarkercross);
centermarkercross = new NMark(new NPoint(nposx,nposy),new NIcon(iconcentercross,new NSize(20,30)));
mapObj.addOverlay(centermarkercross);
}
// 지도에 이벤트를 등록한다. 이벤트로 계속 해서 센터를 표시해주는 마커를 찍는다.
NEvent.addListener(mapObj,"endDrag",senddraged);
// 현재 네이버의 위치를 얻어서 구글 위성지도 팝업 창을 오픈
function getCenterLoc()
{
var centerPoint = mapObj.getCenter();
var frm = document.mapsch;
frm.x.value=centerPoint.getX();
frm.y.value=centerPoint.getY();
frm.zl.value=mapObj.getZoom();
// 팝업으로 폼 전송하기
window.open("about:blank","gmapPop","width=500,height=500 scrollbars=0");
frm.action="gmap.jsp";
frm.target = "gmapPop";
frm.submit();
}
//-->
</SCRIPT>