메뉴 건너뛰기

프로그램언어

조회 수 20410 추천 수 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>

  1. PHP 에서의 소켓(Socket) 통신

    Date2014.04.11 Views21455
    Read More
  2. PHP 세션에서 시작, 변수등록, 변수삭제, 부수기

    Date2014.03.25 Views20477
    Read More
  3. 어떤 스마트폰으로 접속했는지 알아내는 소스 , (안드로이드 아이폰 )

    Date2014.03.25 Views18934
    Read More
  4. PHP 소스 : 이미지 리사이즈, 섬네일

    Date2014.03.25 Views21871
    Read More
  5. 네이버 지도 api php버전

    Date2014.03.25 Views20410
    Read More
  6. Drag/Drop HTML elements

    Date2014.03.25 Views20487
    Read More
  7. 이미지 워터마크 구현

    Date2014.03.25 Views20771
    Read More
  8. 특수문자 없애는 정규표현식

    Date2014.03.25 Views22602
    Read More
  9. jQuery 개발자를 위한 메모 - 레퍼런스

    Date2014.03.25 Views20526
    Read More
  10. JSON and JavaScript usage

    Date2014.03.25 Views20179
    Read More
  11. jQuery 개발자를 위한 메모 - 플러그 인

    Date2014.03.25 Views20272
    Read More
  12. 웹에서 Excel 로 출력하기

    Date2014.03.25 Views21416
    Read More
  13. 웹페이지 프린트 하기 html 수준

    Date2014.03.25 Views20851
    Read More
  14. [PHP] 한글명 파일 다운로드받기

    Date2014.03.25 Views21644
    Read More
  15. FPDF - PHP로 PDF 만들기

    Date2014.02.27 Views22037
    Read More
  16. 해당하는 날짜가 그달의 몇주째인지 계산

    Date2014.02.27 Views27287
    Read More
  17. php 파일 다운로드 구현

    Date2014.02.27 Views21037
    Read More
  18. php 파일 확장자

    Date2014.02.27 Views21238
    Read More
  19. MYSQL 업데이트 두 번 하기

    Date2014.02.27 Views20782
    Read More
  20. mysql 에러 구문 표시

    Date2014.02.27 Views21447
    Read More
Board Pagination Prev 1 ... 8 9 10 11 12 13 14 15 16 17 Next
/ 17

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved