메뉴 건너뛰기

프로그램언어

조회 수 19434 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
<?php
    // 지도의 폭과 높이
    $map_width = 600;
    $map_height = 400;
   
    // 지도의 축적 1~11 사이의 자연수. 1에 가까울 수록 지도가 확대
    $map_zoom = 2;
   
    // 네이버 지도api 키값
    $map_key = "key=코드값";
    if (!$map_query) $map_query = "서울시 강남구 삼성동";
   
    // 여기부터 주소 검색 xml 파싱
    $pquery = $map_key. "&query=". str_replace(" ","",$map_query);  

    $fp = fsockopen ("map.naver.com", 80, $errno, $errstr, 30);
    if (!$fp) {
        echo "$errstr ($errno)";
        //exit;
    } else {
        fputs($fp, "GET /api/geocode.php?");
        fputs($fp, $pquery);
        fputs($fp, " HTTP/1.1\r\n");
        fputs($fp, "Host: map.naver.com\r\n");
        fputs($fp, "Connection: Close\r\n\r\n");
        
        $header = "";
        while (!feof($fp)) {
            $out = fgets ($fp,512);
            if (trim($out) == "") {
                break;
            }
            $header .= $out;
        }
        
        $mapbody = "";
        while (!feof($fp)) {
            $out = fgets ($fp,512);
            $mapbody .= $out;
        }
       
        $idx = strpos(strtolower($header), "transfer-encoding: chunked");
        
        if ($idx > -1) { // chunk data
            $temp = "";
            $offset = 0;
            do {
                $idx1 = strpos($mapbody, "\r\n", $offset);
                $chunkLength = hexdec(substr($mapbody, $offset, $idx1 - $offset));
                
                if ($chunkLength == 0) {
                    break;
                } else {
                    $temp .= substr($mapbody, $idx1+2, $chunkLength);
                    $offset = $idx1 + $chunkLength + 4;
                }
            } while(true);
            $mapbody = $temp;
        }
        //header("Content-Type: text/xml; charset=utf-8");
        fclose ($fp);
    }    
    // 여기까지 주소 검색 xml 파싱
 

    // 여기부터 좌표값 변수에 등록
    $map_x_point_1=explode("<x>", $mapbody);
    $map_x_point_2=explode("</x>", $map_x_point_1[1]);
    $map_x_point=$map_x_point_2[0];
    $map_y_point_1=explode("<y>", $mapbody);
    $map_y_point_2=explode("</y>", $map_y_point_1[1]);
    $map_y_point=$map_y_point_2[0];
    // 여기까지 좌표값 변수에 등록
 

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=euckr">
<title>Weddies - 네이버 지도 API 연동</title>
<script type="text/javascript" src="<script type="text/javascript">
function clearText() {
    WedMap.map_query.value = "";
}
</script>
<style>
    .clear {
        clear: both;
    }
    .search {
       
    }
</style>
</head>
<body>
    <h1>TITLE 1</h1>
    <h2>네이버 지도 API 테스트 페이지</h2>
   
    <hr class="clear">
 

    <div id='mapContainer' style='width: <?=$map_width?>px; height: <?=$map_height?>px; padding: 5px; border-style: solid; border-width: 5px; border-color: orange;'>
    <script type="text/javascript">
    <!--
        /*지도 개체 생성 */
     var opts = {width:<?=$map_width?>, height:<?=$map_height?>, mapMode:1};
   
     var mapObj = new NMap(document.getElementById('mapContainer'),opts);
       
        var x_point = <?=$map_x_point?>;
        var y_point = <?=$map_y_point?>;
        var zoom_level = <?=$map_zoom?>;
       
     /* 지도 좌표, 축적 수 준 초기화 */
        var loc_Point = new NPoint(x_point,y_point);  // 포인트 표시
       
     mapObj.setCenterAndZoom(loc_Point,zoom_level);
   
     /* 지도 컨트롤 생성 */
     var zoom = new NZoomControl();
   
     zoom.setAlign("right");
     zoom.setValign("top");
     mapObj.addControl(zoom);
   
     /* 지도 모드 변경 버튼 생성 */
     var mapBtns = new NMapBtns();
     mapBtns.setAlign("right");
     mapBtns.setValign("top");
     mapObj.addControl(mapBtns);
   
    //-->
    </script>
    </div>
   
    <hr class="clear">
   
    <div class="search">
    <form name="WedMap" method="post">
        <input type="text" id="addr" name="map_query" value="검색할 주소를 입력하세요" size="80" maxLength="100" onclick="clearText();" tabindex="1">
        <input type="submit" value="검색">
    </form>
    </div>
   
    <hr class="clear">
   
    <div>
        <ul>
            <dt>주소</dt>
            <dd><?=$map_query?></dd>
            <dt>좌표</dt>
            <dd><?=$map_x_point?></dd>
            <dd><?=$map_y_point?></dd>
        </ul>
    </div>
</body>
</html>

List of Articles
번호 제목 날짜 조회 수
320 파일 이름에서 확장자 추출마스터 2017.03.07 20061
319 파일 업로드 (중복처리) 2017.03.06 20185
318 파일 삭제 2015.04.14 25334
317 파일 및 데이타베이스 백업 2019.01.08 1610
316 파일 다운로드 함수(멀티 이어받기/속도제한) 2020.06.19 618
315 파일 output을 return 하기 2021.03.26 243
314 파일 2019.01.08 1226
313 특정일의 주차 구하기 2021.07.08 322
312 특수문자 없애는 정규표현식 2014.03.26 21628
311 템플릿 관련 정보 2016.08.22 20732
310 태그 또는 멘션 소스 뽐아내기방법 2019.01.16 1249
309 키를 이용한 암호화/복호화 함수입니다. 2018.07.24 5741
308 클래스와 인스턴스 그리고 메소드 만들기 2021.03.27 231
307 큰따옴표(") 와 작은따옴표(') 2021.03.25 271
306 쿠폰번호 발행 업데이트판. (간단한 클래스화[PHP4 기준] 등...) 2018.07.19 6087
305 쿠키변수받기 2014.02.27 29228
304 쿠키 확인 후 만료시 세션 파괴하는 방법 2020.11.23 314
303 콜론 연산자 2021.03.26 307
302 코드 생성 하기 2023.01.12 213
301 체크박스, post 로 넘기고 받아서 다시 체크하기, checkbox 2017.03.07 21134
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 17 Next
/ 17

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved