테스트 사이트 - 개발 중인 베타 버전입니다

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

· 7년 전 · 7794 · 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 로 변경하니 잘 나타납니다~

게시글 목록

번호 제목
16286
16281
16277
16276
16268
16266
16264
16263
16262
16259
16258
16257
16255
16233
16229
16222
16220
16219
16217
16214
16213
16211
16207
16205
16197
16195
16192
16191
16188
16187