메뉴 건너뛰기

프로그램언어

조회 수 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
번호 제목 날짜 조회 수
180 방금 INSERT 했던 SQL 문의 PK(primary key)값 가져오기 2018.07.04 5335
179 PHP 휴대폰번호 짜르기 (preg_replace) "-" 넣기. 형식바꾸기 2018.07.04 4057
178 [이클립스]PHP 개발환경 만들기 file 2018.07.04 7938
177 MySQL(MariaDB) 테이블 만들기 2018.03.28 8152
176 PHP 네이버블로그 원격 글쓰기 API 소스 file 2018.02.09 12463
175 PHP에서 암호화 encrypt 복호화 decrypt 해서 값을 넘기기 2018.02.09 10626
174 base64 인코딩/디코딩 함수의 특징 file 2018.02.09 13078
173 PHP 날짜 함수 2017.04.13 17673
172 PHP, $_SERVER 변수 2017.04.13 19505
171 정규식 2017.04.13 17599
170 파일시스템, 폼 파일업로드 관련 함수 2017.03.27 21681
169 네이버 자동 띄어쓰기를 이용하기 2017.03.27 17940
168 php 엑셀 다운로드 구현 2017.03.07 29782
167 두 날짜 사이의 차이 구하기 2017.03.07 18866
166 날짜 일수 차이 계산 2017.03.07 19977
165 php 세션 유지시간 늘리기 2017.03.07 26313
164 리다이렉션(페이지 이동)의 3가지 방법, location.href 2017.03.07 40122
163 자릿수만큼 앞에 0 붙이기 2017.03.07 19026
162 세션 시작 / 세션 데이터 추가 / 세션 데이터 삭제 / 세션 종료하기 2017.03.07 19102
161 도메인 앞에 자동으로 WWW를 붙이는 방법 2017.03.07 18884
Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 ... 17 Next
/ 17

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved