지도 범위 재설정 문의드립니다

[FAQ] 지도/로컬 API 문의 전 꼭 읽어 주세요.

https://apis.map.kakao.com/web/sample/setBounds/

이 예제를 적용하고 있는데, 지도가 나오지않고 흰화면이 나옵니다.

잘못된 좌표를 넣어서 그런걸까요?

중간중간 불필요한 데이터 정보는 삭제하고 코드 첨부합니다.

function mapList(result) {

	var mapData = result;

	 var latitude = null;
	 var longitude = null;
	 var scope = null;
	 
	 if(mapData.length > 0 && mapData[0].GPS_latitude.includes('.') && mapData[0].GPS_longitude.includes('.')){
		 latitude = mapData[0].GPS_latitude;
		 longitude =  mapData[0].GPS_longitude;
		 scope = 11;
	 }

	 // 데이터가 없을 때 지도 중심점 표시
	 if(mapData.length === 0){
		 latitude = 
		 longitude =  
		 scope = 13;
	 }
	 
	 if (mapData.length > 0 && mapData[0].GPS_latitude === '10' && mapData[0].GPS_longitude === '10') {
		 alert("표시할 수 없는 좌표 값이 포함되어 있습니다.");
		 latitude = 
		 longitude =  
		 scope = 13;
		}

	 var mapContainer = document.getElementById('map'), // 지도를 표시할 div
	  mapOption = { 
	        center: new kakao.maps.LatLng(latitude,longitude), // 지도의 중심좌표
	        level: scope// 지도의 확대 레벨
	 }

	var map = new kakao.maps.Map(mapContainer, mapOption); // 지도를 생성합니다

	var bounds = new kakao.maps.LatLngBounds();

	// 마커를 표시할 위치와 내용을 가지고 있는 객체 배열입니다 
	var positions = []

	for (var j = 0; j < mapData.length; j++) {
		positions.push({
			latlng : new kakao.maps.LatLng(mapData[j].GPS_latitude,
					mapData[j].GPS_longitude)
		});
	}
	
	//마커 및 인포윈도우를 저장할 배열
	var markers = [];
	
	//좌표를 저장할 배열
	var coords = [];
	
	// 마커 클러스터러를 생성합니다 
	var clusterer = new kakao.maps.MarkerClusterer({
	    map: map, // 마커들을 클러스터로 관리하고 표시할 지도 객체 
	    averageCenter: true, // 클러스터에 포함된 마커들의 평균 위치를 클러스터 마커 위치로 설정 
	    minLevel: 10 // 클러스터 할 최소 지도 레벨 
	});


	for (var i = 0; i < positions.length; i++) {
		// 마커를 생성합니다
		 if (positions[i].makerStatus.includes('ON')) {
			var imageSrc = "<c:url value="/resources/images/on.png"/> " // 마커이미지의 주소입니다	
			}
		imageSize = new kakao.maps.Size(40, 43) // 마커이미지의 크기입니다
		imageOption = {
			offset : new kakao.maps.Point(18, 43)
		}; // 마커이미지의 옵션입니다. 마커의 좌표와 일치시킬 이미지 안에서의 좌표를 설정합니다.

		//마커의 이미지정보를 가지고 있는 마커이미지를 생성합니다
		var markerImage = new kakao.maps.MarkerImage(imageSrc, imageSize,
				imageOption);

		var marker = new kakao.maps.Marker({
			image : markerImage,
			title : positions[i].devSN,
			position : positions[i].latlng
		// 마커의 위치
		});

		 markers.push(marker);

	     bounds.extend(positions[i].latlng);

	}
	       clusterer.addMarkers(markers); 
			$("img").removeAttr("title");
		    
			
		    // 모든 마커가 생성된 이후에 bounds 설정 및 지도 영역 재설정
                         console.log(bounds);
		    map.setBounds(bounds);
}

image
데이터는 약 4000개 정도입니다.
파이썬으로 랜덤 데이터를 생성하여 삽입했습니다. 마커는 잘 찍힙니다.

image
console에 bounds 값은 이렇게 뜹니다.

배열 형식으로도 넣어봤었는데 이건 안되더라구요.
coords.push(positions[i].latlng);
bounds.extend(coords);

안녕하세요~
bounds 객체에 들어가 있는 값이 이상합니다.

확실한 WGS84 좌표값만을 가지고 소규모 데이터로 현재 로직을 테스트 해보시기 바랍니다.
그래야 데이터가 이상한지, 로직이 이상한지 구분이 가능합니다.

한번에 많은 양의 데이터를 이용할 경우, 해당 데이터의 무결성을 알 수 없다면, 어떤게 문제인지 알기 어렵습니다.

최상단 10개 정도의 데이터만 가지고 확인해 보시면 좋을 것 같습니다.

아무튼 현재로써는 bounds값에 찍힌 값이 이상합니다.
bounds 객체에 있는 getNorthEast, getSouthWest 값을 확인해 보시면, 저희 대한민국의 영역을 아주 많이 벗어나는 값이 들어가 있어서, 발생한 문제로 보입니다.

확인해 주세요.

추가로 각 객체들의 설명은 Docs 페이지를 확인해 주시기 바랍니다.
https://apis.map.kakao.com/web/documentation/#LatLngBounds