카카오 지도와 달리 네이버는 appGpx()
메소드를 통해 gpx를 받아서 보여줄 수 있음
문제는 엉뚱한 곳(지도 초기화한 위치)를 보게 되어 있었음
해당 지역으로 이동시키는 LatLngBounds
메소드가 있긴 한데, 남서쪽 위/경도와 북동쪽 위/경도를 알아야 처리할 수 있음.
https://navermaps.github.io/maps.js/docs/naver.maps.LatLngBounds.html
하는 수 없이 해당 gpx파일의 xml 파일을 루프시켜 가장 큰 값, 작은 값을 가져오기로 함.
$(xmlDoc).find("trkseg").each(function (i) {
// console.warn('trkseg');
$(this).find("trkpt").each(function (j) {
// console.warn('trkpt');
var ele = $(this).find("ele").text();
var time = $(this).find("time").text();
var lat = $(this).attr("lat");
var lon = $(this).attr("lon");
left = left > lat ? lat : left;
right = right < lat ? lat : right;
north = north < lon ? lon : north;
south = south > lon ? lon : south;
highest = highest < ele ? ele : highest;
lowest = lowest > ele ? ele : lowest;
// console.log(i, j, 'ele', ele, 'time', time, 'lat', lat, 'lon', lon);
});
});
altitude = Math.round(highest - lowest);
// console.log('altitude', altitude);
$("#altitude").append(altitude + 'm');
mapArea = new naver.maps.LatLngBounds(
new naver.maps.LatLng(left, south),
new naver.maps.LatLng(right, north));