Daum 지도 API는 기본좌표체계로 WGS84 위도/경도 좌표계를 사용하고 있습니다. 그러나, 기존의 콩나물좌표계 및 다른 지도 API와의 연계 혹은 사용하고 싶은 좌표계를 사용할 수 있도록 좌표변환 방법을 제공하고 있습니다.
Daum 지도 API는 총 9개의 좌표계를 지원합니다. (TM, KTM, UTM, WGS84, CONGNAMUL, BESSEL, WTM, WKTM, WCONGNAMUL)
| 좌표계 | 기반타원체 | 설명 | 비고 |
|---|---|---|---|
| wgs84 | wgs84 | wgs84타원체를 사용하는 좌표계입니다. 위/경도 구형 좌표계 |
구글맵 야후맵 MS Live맵 |
| tm | bessel | bessel타원체를 사용하는 국지 좌표계로써 우리나라의 경우 서부, 중부, 동부의 3개의 기준점을 가지고, 좌우 1도씩, 2도 간격의 평면좌표계입니다. | |
| congnamul | bessel | bessel타원체를 기반으로 한 tm좌표계의 변형으로 섬지역(제주도, 독도, 울릉도, 백령도)의 실제 위치를 육지쪽으로 당겨 놓은 형태의 평면좌표계 | 콩나물 지도 다음 지도 |
| wcongnamul | wgs84 | wgs84타원체를 기반으로 한 tm좌표계의 변형 | 콩나물 지도 다음 지도 |
| ktm | bessel | G7이라는 프로젝트의 일환으로 자동차부품연구원에서 네비게이션쪽에서 공동으로 사용하기 위해 만든 좌표계로써, 중부원점(127, 38)에서 약간 벗어난(128, 38)기준을 가지는 평면좌표계 | 네이버 지도 |
| utm | bessel | tm이 국지 좌표계로써 각 나라마다 다른 기준점을 가진다면, utm은 전세계 공통으로 약간의 오차를 허용하며 좌우 3도씩, 6도 간격의 평면좌표계 입니다. | |
| wtm | wgs84 | wgs84타원체를 사용하여 평면좌표계로 투영한 tm좌표계 입니다. | |
| wktm | wgs84 | wgs84타원체를 사용하여 평면좌표계로 투영한 ktm좌표계입니다. | |
| bessel | bessel | bessel타원체를 사용하는 구형좌표계입니다. |
1. 좌표를 변환하려면 DMap 클래스의 getTransCoord메소드를 사용해서 변환할 수 있습니다.
1.var maps = new DMap("mappanel"); 2.var latlng = maps.getTransCoord(new DPoint(506746, 1107390), "congnamul", "wgs84"); 3.// latlng = 37.48879895934866, 127.031300201030052. WGS84(위/경도) 좌표계의 경우 DLatLng클래스를 사용하여 좌표지정을 할 수 있습니다.
1.var maps = new DMap("mappanel"); 2.//DLatLng 클래스를 사용하여 WGS84(위/경도) 좌표계를 사용하여 중심좌표 설정 3.maps.setCenter(new DLatLng(37.48879895934866, 127.03130020103005), 2);3. Daum 지도 API의 기본 좌표계를 wgs84가 아닌 다른 좌표계로 변경하여 사용 가능합니다.
1.var maps = new DMap("mappanel"); 2.maps.setCoordinateType("ktm");4. Marker 나 Graphic객체 같은 Overlay들에서도 옵션을 이용하여 각각 다른 좌표체계를 적용할 수 있습니다.
1.var maps = new DMap("mappanel"); 2.var marker = new DMark(new DLatLng(37.48879895934866, 127.03130020103005), { 3. infowindow:iw, 4. draggable:true }); 5.maps.addOverlay(marker); //좌표계 설정이 없으면 기본좌표계 사용 6.var line = new DLine(new DPoint(505997, 1109977), new DPoint(513861, 1113220), { 7. coordinate : "congnamul"}); //콩나물좌표계로 사용 8.maps.addOverlay(line);1. DPoint를 사용하여 WGS84 좌표 입력
1.var maps = new DMap("mappanel"); 2.var marker = new DMark(new DPoint(37.48879895934866, 127.03130020103005)); 3.// ( X ) 4.var marker = new DMark(new DPoint(127.03130020103005, 37.48879895934866)); 5.// ( O )2. DLatLng를 사용하여 WGS84 좌표 입력
1.var maps = new DMap("mappanel"); 2.var marker = new DMark(new DLatLng(37.48879895934866, 127.03130020103005)); 3.// ( O ) 4.var marker = new DMark(new DLatLng(127.03130020103005, 37.48879895934866)); 5.// ( X )