logo
Tutorials Examples naver map js api v3 네이버 지도 API Geocoder를 활용한 좌표 변환

Geocoder를 활용한 좌표 변환

Geocoder 서브 모듈은 NAVER 지도 API v3에서 제공하는 서브 모듈 중 하나로, 좌표 체계 간 변환 메서드와 특정 좌표계를 지원하는 투영 객체들을 제공합니다.

Geocoder에 대한 다양한 예제는 Geocoder 예제를 참고합니다.

서브 모듈 로드하기

Geocoder를 사용하려면 Geocoder 서브 모듈 JavaScript 파일을 로드해야 합니다. 다음과 같이 파일을 로드합니다.
Geocoder 서브 모듈을 사용하려면 NAVER 지도 API v3이 로드되어 있어야 합니다. 자세한 사항은 서브 모듈 시스템을 참고합니다.

NAVER 지도 API v3은 httphttps 프로토콜을 모두 지원합니다.

<script type="text/javascript" src="https://openapi.map.naver.com/openapi/v3/maps.js?clientId=YOUR_CLIENT_ID&submodules=geocoder"></script>

좌표 체계 변환하기

Geocoder 서브 모듈을 사용하면 좌표 체계 변환 메서드를 사용할 수 있습니다. 현재 변환할 수 있는 좌표 체계의 목록은 아래와 같습니다.

지원되는 좌표 체계는 지속적으로 추가될 예정입니다.

  • LatLng: 위/경도로 나타내는 좌표계입니다.
  • UTMK: UTMK 좌표계입니다.
  • NAVER: NAVER의 자체 좌표계입니다.
  • TM128: TM128 좌표계입니다.

좌표계를 변환하려면 naver.maps.TransCoord 정적 객체를 사용합니다.

var latlng = new naver.maps.LatLng(37.5666103, 126.9783882); // 서울시청 위/경도 좌표

var utmk = naver.maps.TransCoord.fromLatLngToUTMK(latlng); // 위/경도 -> UTMK
var tm128 = naver.maps.TransCoord.fromUTMKToTM128(utmk);   // UTMK -> TM128
var naverCoord = naver.maps.TransCoord.fromTM128ToNaver(tm128); // TM128 -> NAVER

Examples: 좌표계 변환하기

확장된 투영 객체 사용하기

NAVER 지도 API v3에서 기본으로 제공하는 투영 객체는 기본 좌표계로 위/경도 좌표계를 사용했습니다.
Geocoder에서는 위/경도 좌표가 아닌 다른 평면 좌표계를 기본 좌표계로 사용하는 투영 객체들을 제공합니다.
예를 들어, naver.maps.TM128Coord 투영 객체를 활용하는 지도 유형을 사용한다면 입/출력 좌표는 모두 TM128 좌표를 사용하게 됩니다.

TM128Coord 투영 객체 사용하기

var map = new naver.maps.Map('map-container', {
    center:  new naver.maps.Point(309852, 552189), // TM128
    zoom: 11,
    mapTypeId: 'normal',
    mapTypes: new naver.maps.MapTypeRegistry({
        'normal': naver.maps.NaverMapTypeOption.getNormalMap({
            projection: naver.maps.TM128Coord
        }),
        'terrain': naver.maps.NaverMapTypeOption.getTerrainMap({
            projection: naver.maps.TM128Coord
        }),
        'satellite': naver.maps.NaverMapTypeOption.getSatelliteMap({
            projection: naver.maps.TM128Coord
        }),
        'hybrid': naver.maps.NaverMapTypeOption.getHybridMap({
            projection: naver.maps.TM128Coord
        })
    })
});

Examples: TM128 평면 좌표 투영 사용하기