Rido

네이버 지도 api v3 주소->좌표 변환해서 출력하는 예제

· 2018-01-24 (수) 23:12:51 · 8590 · 5

네이X지도 api v3

 

네이버는 튜토리얼이나 개발문서가 좀 가독이 불편한 경우가 있는데

(물론 필자의 개발실력이 문제이기도 하지만)

 

그래서 하나 만들었습니다.

 

주소를 좌표로 변환후 지도로 출력하는 함수


[code]

<script type="text/javascript"

src="https://openapi.map.naver.com/openapi/v3/maps.js?clientId=개발자ID&submodules=geocoder"></script>

<div id="map" style="width:100%;height:600px;"></div>

<style>

    .iw_inner {padding:10px}

    .iw_inner h3 {font-size: 18px; padding-bottom: 7px}

</style>

<script id="code">

    //function get_pointer (해당주소,대상지도 id,title) {

    function get_pointer (adress,getid,title) {

        naver.maps.Service.geocode({

            address: adress

        }, function(status, response) {

            if (status !== naver.maps.Service.Status.OK) {

                //return alert('Something wrong!');

                console.log('주소에러');

            }

 

            var result = response.result, // 검색 결과의 컨테이너

                items = result.items; // 검색 결과의 배열

 

            // do Something

            var x = eval(items[0].point.x);

            var y = eval(items[0].point.y);

 

            var HOME_PATH = window.HOME_PATH || '.';

 

            var cityhall = new naver.maps.LatLng(y, x),

                map = new naver.maps.Map('map', {

                    center: cityhall.destinationPoint(0, 500),

                    zoom: 10

                }),

                marker = new naver.maps.Marker({

                    map: map,

                    position: cityhall

                });

 

            var contentString = [

                '<div class="iw_inner">',

                '   <h3>'+title+'</h3>',

                '   <p>'+adress+'</p>',

                '</div>'

            ].join('');

 

            var infowindow = new naver.maps.InfoWindow({

                content: contentString

            });

 

            naver.maps.Event.addListener(marker, "click", function(e) {

                if (infowindow.getMap()) {

                    infowindow.close();

                } else {

                    infowindow.open(map, marker);

                }

            });

 

            infowindow.open(map, marker);

        });

    }

 

    /* 마커중복 사용안됨 */

    get_pointer('대전 중구','map','대전본점');

</script>

[/code]

 

소스상에서 api키만 변경해주시고 사용하시면 됩니다

 

 get_pointer('대전 중구','map','대전본점');

함수로 호출하시고 인자값은 순서대로 검색주소 반환할 div id값 마커에 표시할 이름 입니다.

 

|

댓글 5개

유용한 정보 감사합니다 적용시 많은 도움 될듯 합니다. ^^
네이X api가 좀 불친절 합니다.
저같은 초짜 프로그래머는 알기 힘들게 만들어놔서 ㅡ.ㅜ
살짝 정리해본겁니다.
현재바뀐 api도 적용이 되나요?
버전 확인한번 해보세요 ㅋㅋ 저도 잘 .....
clientId 를 ncpClientId 로 변경하니 잘 나타납니다~
댓글을 작성하시려면 로그인이 필요합니다.

개발자팁

5,403건

개발과 관련된 유용한 정보를 공유하세요. 질문은 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
MySQL 20-02-13 조회 3,492
기타 20-01-29 조회 2,642
PHP 20-01-26 조회 3,319
기타 20-01-19 조회 1만
웹서버 20-01-18 조회 3,800
기타 20-01-15 조회 2,657
PHP 20-01-12 조회 4,233
기타 20-01-12 조회 2,687
웹서버 20-01-07 조회 3,540
node.js 20-01-06 조회 2,825
PHP 19-12-19 조회 4,330
기타 19-12-05 조회 2,839
JavaScript 19-12-02 조회 3,108
웹서버 19-11-19 조회 4,959
JavaScript 19-11-05 조회 3,408
JavaScript 19-11-04 조회 2,565
JavaScript 19-11-01 조회 2,672
JavaScript 19-10-31 조회 2,718
PHP 19-10-29 조회 2,744
기타 19-10-26 조회 3,616
JavaScript
[JavaScript]
19-10-17 조회 2,711
JavaScript 19-09-25 조회 2,939
jQuery 19-09-24 조회 2,701
PHP 19-09-23 조회 3,440
기타 19-09-08 조회 3,243
PHP 19-09-03 조회 5,421
기타 19-08-10 조회 2,741
정규표현식 19-08-08 조회 2,995
정규표현식 19-08-05 조회 3,349
웹서버 19-08-05 조회 4,830