GPX 파일을 네이버 지도에 꽉 차게 보여주기

김윤수·2022년 7월 5일
0

개발

목록 보기
3/9

카카오 지도와 달리 네이버는 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));
profile
안녕하세요

0개의 댓글