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.03130020103005
2. 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 )