feat: 지도에서 지도구분 문구 클릭 시 전체 CALS 해제 또는 선택되도록 구현
parent
1a3f94524c
commit
9bde6258f7
|
|
@ -33,11 +33,16 @@
|
||||||
$(".report_menu_pdf_button");
|
$(".report_menu_pdf_button");
|
||||||
} else {
|
} else {
|
||||||
$(".report_menu_save_button").hide();
|
$(".report_menu_save_button").hide();
|
||||||
$(".report_menu_pdf_button").hide();
|
//$(".report_menu_pdf_button").hide();
|
||||||
}
|
}
|
||||||
$(".report_menu_excel_button").hide();
|
//$(".report_menu_excel_button").hide();
|
||||||
$(".report_menu_hwp_button").hide();
|
$(".report_menu_hwp_button").hide();
|
||||||
$(".report_menu_print_button").hide();
|
$(".report_menu_print_button").hide();
|
||||||
|
|
||||||
|
report.pdfDownLoad();
|
||||||
|
report.excelDownLoad();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
|
|
|
||||||
|
|
@ -1372,7 +1372,7 @@ function table3display(){
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<div class="map-division-wrapper">
|
<div class="map-division-wrapper">
|
||||||
<div class="map-division-title" onclick="forceUncheckHoleLayerOnOff();">
|
<div class="map-division-title" id="map-label-cals" onclick="forceUncheckHoleLayerOnOff();" style="cursor: pointer;">
|
||||||
지도구분
|
지도구분
|
||||||
</div>
|
</div>
|
||||||
<div class="map-division-contents">
|
<div class="map-division-contents">
|
||||||
|
|
@ -1674,33 +1674,39 @@ function table3display(){
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<input id="geology-mode" name="geology-mode" type="checkbox" value="checkbox" onclick="geologyMode();">
|
<input id="geology-mode" name="geology-group" type="radio" value="geology-mode" onclick="geologyMode();">
|
||||||
<label for="geology-mode">
|
<label for="geology-mode">
|
||||||
<span class="folder">지질정보</span>
|
<span class="folder">지질정보</span>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<input id="geology-mine" name="geology-mine" type="checkbox" value="checkbox" onclick="geologyMine();">
|
<input id="geology-mine" name="geology-group" type="radio" value="geology-mine" onclick="geologyMine();">
|
||||||
<label for="geology-mine">
|
<label for="geology-mine">
|
||||||
<span class="folder">광산정보</span>
|
<span class="folder">광산정보</span>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<input id="geology-well" name="geology-well" type="checkbox" value="checkbox" onclick="geologyWell();">
|
<input id="geology-well" name="geology-group" type="radio" value="geology-well" onclick="geologyWell();">
|
||||||
<label for="geology-well">
|
<label for="geology-well">
|
||||||
<span class="folder">관정정보</span>
|
<span class="folder">관정정보</span>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<input id="geology-steep-slope" name="geology-steep-slope" type="checkbox" value="checkbox" onclick="geologySteepSlope();">
|
<input id="geology-steep-slope" name="geology-group" type="radio" value="geology-steep-slope" onclick="geologySteepSlope();">
|
||||||
<label for="geology-steep-slope">
|
<label for="geology-steep-slope">
|
||||||
<span class="folder">급경사지정보</span>
|
<span class="folder">급경사지정보</span>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<input id="geology-resistivity-survey" name="geology-steep-slope" type="checkbox" value="checkbox" onclick="geologyResistivitySurvey();">
|
<input id="geology-resistivity-survey" name="geology-group" type="radio" value="geology-resistivity-survey" onclick="geologyResistivitySurvey();">
|
||||||
<label for="geology-resistivity-survey">
|
<label for="geology-resistivity-survey">
|
||||||
<span class="folder">물리탐사</span>
|
<span class="folder">물리탐사(전기비저항)</span>
|
||||||
|
</label>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<input id="geology-resistivity-survey2" name="geology-group" type="radio" value="geology-resistivity-survey2" onclick="geologyRefractionSurvey();">
|
||||||
|
<label for="geology-resistivity-survey2">
|
||||||
|
<span class="folder">물리탐사(굴절탄성파)</span>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
||||||
|
|
@ -28,9 +28,8 @@ function hasClass(element, cls) {
|
||||||
return (' ' + element.className + ' ').indexOf(' ' + cls + ' ') > -1;
|
return (' ' + element.className + ' ').indexOf(' ' + cls + ' ') > -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
function removeClassOverlayLayer(targetEleId) {
|
function myRemoveClass(targetEleId, toggleClass) {
|
||||||
var targetBtn = document.getElementById(targetEleId);
|
var targetBtn = document.getElementById(targetEleId);
|
||||||
var toggleClass = 'active';
|
|
||||||
|
|
||||||
if (!targetBtn) {
|
if (!targetBtn) {
|
||||||
console.error(targetEleId + " 버튼이 존재하지 않습니다.");
|
console.error(targetEleId + " 버튼이 존재하지 않습니다.");
|
||||||
|
|
@ -43,12 +42,11 @@ function removeClassOverlayLayer(targetEleId) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function addClassOverlayLayer(targetEleId) {
|
function myAddClass(targetEleId, toggleClass) {
|
||||||
var targetBtn = document.getElementById(targetEleId);
|
var targetBtn = document.getElementById(targetEleId);
|
||||||
var toggleClass = 'active';
|
|
||||||
|
|
||||||
if (!targetBtn) {
|
if (!targetBtn) {
|
||||||
console.error(targetEleId + " 버튼이 존재하지 않습니다.");
|
//console.error(targetEleId + " 버튼이 존재하지 않습니다.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
targetBtn.className += " " + toggleClass;
|
targetBtn.className += " " + toggleClass;
|
||||||
|
|
@ -259,6 +257,80 @@ OpenLayers.Control.DragPopup = OpenLayers.Class(OpenLayers.Control, {
|
||||||
CLASS_NAME: "OpenLayers.Control.DragPopup"
|
CLASS_NAME: "OpenLayers.Control.DragPopup"
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 광산 정보 모달 표시 함수
|
||||||
|
* @param {String} title 제목
|
||||||
|
* @param {String} content 내용 (HTML 태그 사용 가능)
|
||||||
|
* @param {Function} onCloseCallback 닫기 버튼 클릭 시 실행될 콜백 함수
|
||||||
|
*/
|
||||||
|
function showMineInfoModal(title, content, onCloseCallback) {
|
||||||
|
// 이미 열려있는 모달이 있다면 제거
|
||||||
|
if ($('#mineInfoModal').length > 0) {
|
||||||
|
$('#mineInfoModal').remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 모달 HTML 생성 (스타일은 지질도 팝업과 유사하게 맞춤)
|
||||||
|
var popupHtml =
|
||||||
|
'<div id="mineInfoModal" style="position: absolute; width: 400px; z-index: 10002; ' +
|
||||||
|
'box-shadow: 0 5px 15px rgba(0,0,0,0.5); font-family: \'Malgun Gothic\', sans-serif; ' +
|
||||||
|
'background-color: #fff; border: 1px solid #004e99; border-radius: 4px;">' +
|
||||||
|
' <div class="popup-header" style="background-color: #004e99; color: white; font-size: 16px; ' +
|
||||||
|
'font-weight: bold; padding: 10px 15px; cursor: move; display: flex; justify-content: space-between; align-items: center; border-radius: 3px 3px 0 0;">' +
|
||||||
|
' <span>' + title + '</span>' +
|
||||||
|
' <button id="closeMineModalBtn" style="background: none; border: none; font-size: 24px; color: white; cursor: pointer; line-height: 1;">×</button>' +
|
||||||
|
' </div>' +
|
||||||
|
' <div style="padding: 20px; font-size: 14px; line-height: 1.6; color: #333; max-height: 400px; overflow-y: auto;">' +
|
||||||
|
content +
|
||||||
|
' </div>' +
|
||||||
|
' <div style="text-align: center; padding-bottom: 20px;">' +
|
||||||
|
' <button id="okMineModalBtn" style="padding: 8px 30px; background-color: #004e99; color: white; border: none; cursor: pointer; border-radius: 4px; font-weight: bold;">확인</button>' +
|
||||||
|
' </div>' +
|
||||||
|
'</div>';
|
||||||
|
|
||||||
|
$('body').append(popupHtml);
|
||||||
|
var modal = $('#mineInfoModal');
|
||||||
|
|
||||||
|
// 화면 중앙 배치
|
||||||
|
var top = ($(window).height() - modal.outerHeight()) / 2;
|
||||||
|
var left = ($(window).width() - modal.outerWidth()) / 2;
|
||||||
|
if (top < 0) top = 20;
|
||||||
|
if (left < 0) left = 20;
|
||||||
|
modal.css({top: top, left: left});
|
||||||
|
|
||||||
|
// 닫기 처리 함수
|
||||||
|
function closeModal() {
|
||||||
|
modal.remove();
|
||||||
|
// 이벤트 리스너 정리
|
||||||
|
$(document).off('mousemove.mineModal').off('mouseup.mineModal');
|
||||||
|
// 콜백 실행 (주로 지도 선택 해제용)
|
||||||
|
if (onCloseCallback) onCloseCallback();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 닫기/확인 버튼 이벤트 연결
|
||||||
|
$('#closeMineModalBtn, #okMineModalBtn').on('click', closeModal);
|
||||||
|
|
||||||
|
// --- 드래그 기능 구현 ---
|
||||||
|
var isDragging = false;
|
||||||
|
var offset = {x:0, y:0};
|
||||||
|
|
||||||
|
modal.find('.popup-header').on('mousedown', function(e) {
|
||||||
|
isDragging = true;
|
||||||
|
var pos = modal.offset();
|
||||||
|
offset.x = e.pageX - pos.left;
|
||||||
|
offset.y = e.pageY - pos.top;
|
||||||
|
e.preventDefault(); // 텍스트 선택 방지
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).on('mousemove.mineModal', function(e) {
|
||||||
|
if (isDragging) {
|
||||||
|
modal.offset({ top: e.pageY - offset.y, left: e.pageX - offset.x });
|
||||||
|
}
|
||||||
|
}).on('mouseup.mineModal', function() {
|
||||||
|
isDragging = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
//---------여기 시작 코드
|
//---------여기 시작 코드
|
||||||
|
|
||||||
// ================================================================
|
// ================================================================
|
||||||
|
|
@ -313,11 +385,25 @@ function hole_layerOnOff() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 지도구분을 클릭하면 CALS 분류를 전체 해제 또는 전체 선택한다.
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
function forceUncheckHoleLayerOnOff() {
|
function forceUncheckHoleLayerOnOff() {
|
||||||
//33 글자여야한다.
|
//thkim
|
||||||
//var returnValue = "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNY";
|
var eleId = "map-label-cals";
|
||||||
if( true ) {
|
var toggleClass = "active";
|
||||||
var returnValue = "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNY";
|
|
||||||
|
var targetBtn = document.getElementById(eleId);
|
||||||
|
var returnValue = null;
|
||||||
|
if (hasClass(targetBtn, toggleClass)) {
|
||||||
|
myRemoveClass(eleId, toggleClass);
|
||||||
|
returnValue = "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYN";
|
||||||
|
} else {
|
||||||
|
myAddClass(eleId, toggleClass);
|
||||||
|
returnValue = "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNY";
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 1; i <= 33; i++) {
|
for (i = 1; i <= 33; i++) {
|
||||||
var char = returnValue.charAt(i);
|
var char = returnValue.charAt(i);
|
||||||
if( char==='Y') {
|
if( char==='Y') {
|
||||||
|
|
@ -328,9 +414,17 @@ function forceUncheckHoleLayerOnOff() {
|
||||||
}
|
}
|
||||||
|
|
||||||
changeLegend(returnValue);
|
changeLegend(returnValue);
|
||||||
}
|
//hideLeftSideBar();
|
||||||
|
$(window).trigger('resize');
|
||||||
|
BASE_MAP.updateSize();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 좌측 side bar를 숨긴다.
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
function hideLeftSideBar() {
|
||||||
var body = $('body');
|
var body = $('body');
|
||||||
|
|
||||||
if (body.hasClass("page-sidebar-closed")) {
|
if (body.hasClass("page-sidebar-closed")) {
|
||||||
|
|
@ -339,11 +433,6 @@ function forceUncheckHoleLayerOnOff() {
|
||||||
} else {
|
} else {
|
||||||
body.addClass("page-sidebar-closed");
|
body.addClass("page-sidebar-closed");
|
||||||
}
|
}
|
||||||
|
|
||||||
$(window).trigger('resize');
|
|
||||||
BASE_MAP.updateSize();
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function getMyDrillingProjectCodes() {
|
function getMyDrillingProjectCodes() {
|
||||||
|
|
@ -424,7 +513,9 @@ var VWORLD_URL = "https://xdworld.vworld.kr/2d/Base/service/${z}/${x}/${y}.png
|
||||||
// TBL_HEADER_HOLE 설정
|
// TBL_HEADER_HOLE 설정
|
||||||
// ------------------------------
|
// ------------------------------
|
||||||
var T_HOLE = "TBL_HEADER_HOLE";
|
var T_HOLE = "TBL_HEADER_HOLE";
|
||||||
var T_WEB_STEEP_SLOPE = "WEB_STEEP_SLOPE"; //"";
|
var T_STEEP_SLOPE = "WEB_STEEP_SLOPE"; // 급경사지가 들어 있는 테이블 명
|
||||||
|
var T_RESISTIVITY = "TEMP_RESISTIVITY_SURVEY_SUB"; // 물리탐사 - 전기비저항이 들어 있는 테이블 명
|
||||||
|
var T_REFRACTION = "TBL_REFRACTION_SURVEY_SUB"; // 물리탐사 - 굴절법탄성파가 들어 있는 테이블 명
|
||||||
|
|
||||||
var T_HOLE_M = "TBL_HEADER_HOLE_M";
|
var T_HOLE_M = "TBL_HEADER_HOLE_M";
|
||||||
var F_PROJECT_CODE = "PROJECT_CODE";
|
var F_PROJECT_CODE = "PROJECT_CODE";
|
||||||
|
|
@ -469,6 +560,11 @@ var WELL_LAYER; // 관정 레이어
|
||||||
var STEEP_SLOPE_LAYER; // 급경사지 레이어
|
var STEEP_SLOPE_LAYER; // 급경사지 레이어
|
||||||
var CTL_SELECT_SLOPE; // 급경사지 선택
|
var CTL_SELECT_SLOPE; // 급경사지 선택
|
||||||
|
|
||||||
|
var RESISTIVITY_LAYER; // 물리탐사 - 전기비저항
|
||||||
|
var REFRACTION_LAYER; // 물리탐사 - 굴절법탄성파
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var HOLE_SELECT; // 시추공 선택
|
var HOLE_SELECT; // 시추공 선택
|
||||||
var HOLE_SELECT2; // 3d지반
|
var HOLE_SELECT2; // 3d지반
|
||||||
var HOLE_AREA; // 영역 선택
|
var HOLE_AREA; // 영역 선택
|
||||||
|
|
@ -760,10 +856,10 @@ function initApp(param){
|
||||||
|
|
||||||
// 급경사지 레이어
|
// 급경사지 레이어
|
||||||
STEEP_SLOPE_LAYER = new OpenLayers.Layer.WMS(
|
STEEP_SLOPE_LAYER = new OpenLayers.Layer.WMS(
|
||||||
"WEB_STEEP_SLOPE",
|
T_STEEP_SLOPE,
|
||||||
O2MAP_URL,
|
O2MAP_URL,
|
||||||
{
|
{
|
||||||
layers : T_WEB_STEEP_SLOPE,
|
layers : T_STEEP_SLOPE,
|
||||||
transparent : true,
|
transparent : true,
|
||||||
format : "image/png",
|
format : "image/png",
|
||||||
crs : "EPSG:3857",
|
crs : "EPSG:3857",
|
||||||
|
|
@ -779,6 +875,49 @@ function initApp(param){
|
||||||
|
|
||||||
STEEP_SLOPE_LAYER.setVisibility(false);
|
STEEP_SLOPE_LAYER.setVisibility(false);
|
||||||
|
|
||||||
|
|
||||||
|
// 물리탐사 - 전기비저항 레이어
|
||||||
|
RESISTIVITY_LAYER = new OpenLayers.Layer.WMS(
|
||||||
|
T_RESISTIVITY,
|
||||||
|
O2MAP_URL,
|
||||||
|
{
|
||||||
|
layers : T_RESISTIVITY,
|
||||||
|
transparent : true,
|
||||||
|
format : "image/png",
|
||||||
|
crs : "EPSG:3857",
|
||||||
|
}, {
|
||||||
|
singleTile : false,
|
||||||
|
isBaseLayer : false,
|
||||||
|
visibility: false,
|
||||||
|
transitionEffect: "resize",
|
||||||
|
buffer : 0,
|
||||||
|
removeBackBufferDelay : 0
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
RESISTIVITY_LAYER.setVisibility(false);
|
||||||
|
|
||||||
|
// 물리탐사 - 굴절법탄성파 레이어
|
||||||
|
REFRACTION_LAYER = new OpenLayers.Layer.WMS(
|
||||||
|
T_REFRACTION,
|
||||||
|
O2MAP_URL,
|
||||||
|
{
|
||||||
|
layers : T_REFRACTION,
|
||||||
|
transparent : true,
|
||||||
|
format : "image/png",
|
||||||
|
crs : "EPSG:3857",
|
||||||
|
}, {
|
||||||
|
singleTile : false,
|
||||||
|
isBaseLayer : false,
|
||||||
|
visibility: false,
|
||||||
|
transitionEffect: "resize",
|
||||||
|
buffer : 0,
|
||||||
|
removeBackBufferDelay : 0
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
REFRACTION_LAYER.setVisibility(false);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
if( getQueryString("masterCompanyCode") && true ) {
|
if( getQueryString("masterCompanyCode") && true ) {
|
||||||
HOLE_DRILLING = new OpenLayers.Layer.WMS(
|
HOLE_DRILLING = new OpenLayers.Layer.WMS(
|
||||||
|
|
@ -961,6 +1100,12 @@ function initApp(param){
|
||||||
STEEP_SLOPE_LAYER.mergeNewParams({version : '1.3.0'});
|
STEEP_SLOPE_LAYER.mergeNewParams({version : '1.3.0'});
|
||||||
BASE_MAP.addLayer(STEEP_SLOPE_LAYER);
|
BASE_MAP.addLayer(STEEP_SLOPE_LAYER);
|
||||||
|
|
||||||
|
RESISTIVITY_LAYER.mergeNewParams({version : '1.3.0'});
|
||||||
|
BASE_MAP.addLayer(RESISTIVITY_LAYER);
|
||||||
|
|
||||||
|
REFRACTION_LAYER.mergeNewParams({version : '1.3.0'});
|
||||||
|
BASE_MAP.addLayer(REFRACTION_LAYER);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1246,17 +1391,31 @@ function initApp(param){
|
||||||
validationTailler = ' 검증됨';
|
validationTailler = ' 검증됨';
|
||||||
}
|
}
|
||||||
console.log( contents + validationTailler );
|
console.log( contents + validationTailler );
|
||||||
alert( contents );
|
// ====== [수정된 부분] ======
|
||||||
|
// 1. 줄바꿈(\n)을 HTML 태그(<br>)로 변환
|
||||||
|
var htmlContent = contents.replace(/\n/g, '<br>');
|
||||||
|
|
||||||
|
// 2. alert 대신 모달 함수 호출
|
||||||
|
// 모달이 닫힐 때(callback) 선택 상태를 해제(unselect)합니다.
|
||||||
|
showMineInfoModal("광산 상세 정보", htmlContent, function() {
|
||||||
|
CTL_SELECT_MINE.unselect(feature);
|
||||||
|
});
|
||||||
|
|
||||||
|
isFound = true;
|
||||||
|
// ==========================
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 해당하는 광산 정보를 찾지 못한 경우 바로 선택 해제
|
||||||
|
if (!isFound) {
|
||||||
|
CTL_SELECT_MINE.unselect(feature);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
error: function(xhr, status, error) {
|
error: function(xhr, status, error) {
|
||||||
console.error("API 호출 에러:", error);
|
console.error("API 호출 에러:", error);
|
||||||
alert("상세 정보를 가져오는데 실패했습니다.");
|
alert("상세 정보를 가져오는데 실패했습니다.");
|
||||||
|
CTL_SELECT_MINE.unselect(feature);
|
||||||
},
|
},
|
||||||
complete: function() {
|
complete: function() {
|
||||||
// 알림창 닫은 후 선택 상태 해제 (다시 클릭 가능하도록)
|
|
||||||
CTL_SELECT_MINE.unselect(feature);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -1356,6 +1515,12 @@ function initApp(param){
|
||||||
|
|
||||||
// 급경사지 레이어를 그 위(index 7)에 둡니다.
|
// 급경사지 레이어를 그 위(index 7)에 둡니다.
|
||||||
BASE_MAP.setLayerIndex(STEEP_SLOPE_LAYER, 7);
|
BASE_MAP.setLayerIndex(STEEP_SLOPE_LAYER, 7);
|
||||||
|
|
||||||
|
// 물리탐사 - 전기비저항 레이어를 그 위(index 8)에 둡니다.
|
||||||
|
BASE_MAP.setLayerIndex(RESISTIVITY_LAYER, 7);
|
||||||
|
|
||||||
|
// 물리탐사 - 굴절법탄성파 레이어를 그 위(index 9)에 둡니다.
|
||||||
|
BASE_MAP.setLayerIndex(REFRACTION_LAYER, 7);
|
||||||
}
|
}
|
||||||
// ▲▲▲ 레이어 순서(Z-index) 조정 코드 ▲▲▲
|
// ▲▲▲ 레이어 순서(Z-index) 조정 코드 ▲▲▲
|
||||||
|
|
||||||
|
|
@ -2069,12 +2234,7 @@ function initApp(param){
|
||||||
|
|
||||||
const positionX = Number(getQueryString("positionX"));
|
const positionX = Number(getQueryString("positionX"));
|
||||||
const positionY = Number(getQueryString("positionY"));
|
const positionY = Number(getQueryString("positionY"));
|
||||||
if( userArea && masterCompanyCode && false) {
|
|
||||||
addDrillingHoles(masterCompanyCode);
|
|
||||||
forceUncheckHoleLayerOnOff();
|
|
||||||
} else {
|
|
||||||
BASE_MAP.setCenter(new OpenLayers.LonLat(14184425.793355, 4302405.8698004), 7);
|
BASE_MAP.setCenter(new OpenLayers.LonLat(14184425.793355, 4302405.8698004), 7);
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if( getQueryString("masterCompanyCode") ) {
|
if( getQueryString("masterCompanyCode") ) {
|
||||||
|
|
@ -4240,7 +4400,8 @@ function changeLegend(checkList) {
|
||||||
'0626',
|
'0626',
|
||||||
'0731',
|
'0731',
|
||||||
'0738',
|
'0738',
|
||||||
'0871'
|
'0871',
|
||||||
|
'0000' // 아무것도 안 보여주기 용도.
|
||||||
];
|
];
|
||||||
|
|
||||||
var record = typeValue[id];
|
var record = typeValue[id];
|
||||||
|
|
@ -4498,6 +4659,8 @@ function initOverlayLayers(targetEleId) {
|
||||||
offOverlayLayer(targetEleId, 'map-btn-icon-mine-button', MINE_LAYER);
|
offOverlayLayer(targetEleId, 'map-btn-icon-mine-button', MINE_LAYER);
|
||||||
offOverlayLayer(targetEleId, 'map-btn-icon-well-button', WELL_LAYER);
|
offOverlayLayer(targetEleId, 'map-btn-icon-well-button', WELL_LAYER);
|
||||||
offOverlayLayer(targetEleId, 'map-btn-icon-steep-slope-button', STEEP_SLOPE_LAYER);
|
offOverlayLayer(targetEleId, 'map-btn-icon-steep-slope-button', STEEP_SLOPE_LAYER);
|
||||||
|
offOverlayLayer(targetEleId, undefined, RESISTIVITY_LAYER); //물리탐사 - 전기저항
|
||||||
|
offOverlayLayer(targetEleId, undefined, REFRACTION_LAYER); //물리탐사 - 굴절법탄성파
|
||||||
}
|
}
|
||||||
|
|
||||||
function offOverlayLayer(targetEleId, myEleId, LAYER) {
|
function offOverlayLayer(targetEleId, myEleId, LAYER) {
|
||||||
|
|
@ -4505,7 +4668,7 @@ function offOverlayLayer(targetEleId, myEleId, LAYER) {
|
||||||
if( targetEleId === myEleId) {
|
if( targetEleId === myEleId) {
|
||||||
} else {
|
} else {
|
||||||
LAYER.setVisibility(false);
|
LAYER.setVisibility(false);
|
||||||
removeClassOverlayLayer(myEleId);
|
myRemoveClass(myEleId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -5883,7 +6046,6 @@ function showGeologyLegend() {
|
||||||
|
|
||||||
|
|
||||||
function toggleOverlayLayer(liEleId, layerName, LAYER, message) {
|
function toggleOverlayLayer(liEleId, layerName, LAYER, message) {
|
||||||
|
|
||||||
initControl(liEleId); // 다른 컨트롤 상태 초기화
|
initControl(liEleId); // 다른 컨트롤 상태 초기화
|
||||||
|
|
||||||
if (!LAYER) {
|
if (!LAYER) {
|
||||||
|
|
@ -5897,7 +6059,7 @@ function toggleOverlayLayer(liEleId, layerName, LAYER, message) {
|
||||||
var toggleClass = 'active';
|
var toggleClass = 'active';
|
||||||
|
|
||||||
if (hasClass(targetBtn, toggleClass)) {
|
if (hasClass(targetBtn, toggleClass)) {
|
||||||
removeClassOverlayLayer(liEleId);
|
myRemoveClass(liEleId, toggleClass);
|
||||||
|
|
||||||
// 레이어 숨김 -> 컨트롤 비활성화
|
// 레이어 숨김 -> 컨트롤 비활성화
|
||||||
LAYER.setVisibility(false);
|
LAYER.setVisibility(false);
|
||||||
|
|
@ -5907,7 +6069,7 @@ function toggleOverlayLayer(liEleId, layerName, LAYER, message) {
|
||||||
CTL_INFO.setText(layerName + " Off");
|
CTL_INFO.setText(layerName + " Off");
|
||||||
CTL_INFO.deactivate();
|
CTL_INFO.deactivate();
|
||||||
} else {
|
} else {
|
||||||
addClassOverlayLayer(liEleId);
|
myAddClass(liEleId, toggleClass);
|
||||||
|
|
||||||
// [ON 처리] 레이어 표시 -> 컨트롤 활성화 (선택 모드 여부 상관없음)
|
// [ON 처리] 레이어 표시 -> 컨트롤 활성화 (선택 모드 여부 상관없음)
|
||||||
LAYER.setVisibility(true);
|
LAYER.setVisibility(true);
|
||||||
|
|
@ -6135,41 +6297,18 @@ function geologySteepSlope() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//물리탐사
|
//물리탐사 - 전기저항
|
||||||
function geologyResistivitySurvey() {
|
function geologyResistivitySurvey() {
|
||||||
initControl(); // 다른 컨트롤 상태 초기화
|
var liEleId = undefined;
|
||||||
|
var layerName = '물리탐사 - 전기저항';
|
||||||
// STEEP_SLOPE_LAYER 가 정상적으로 생성되었는지 확인
|
var message = '물리탐사 - 전기저항 정보는 빨간색 선으로 보여집니다.';
|
||||||
if (!STEEP_SLOPE_LAYER) {
|
toggleOverlayLayer(liEleId, layerName, RESISTIVITY_LAYER, message);
|
||||||
console.error("급경사지 레이어가 초기화되지 않았습니다.");
|
}
|
||||||
return;
|
|
||||||
}
|
//물리탐사 - 굴절법탄성파
|
||||||
|
function geologyRefractionSurvey() {
|
||||||
// 현재 레이어의 표시 상태를 가져옵니다.
|
var liEleId = undefined;
|
||||||
var isVisible = STEEP_SLOPE_LAYER.getVisibility();
|
var layerName = '물리탐사 - 굴절법탄성파';
|
||||||
|
var message = '물리탐사 - 굴절법탄성파 정보는 빨간색 선으로 보여집니다.';
|
||||||
if (isVisible ) {
|
toggleOverlayLayer(liEleId, layerName, REFRACTION_LAYER, message);
|
||||||
// 레이어가 현재 보이고 있다면, 숨깁니다.
|
|
||||||
STEEP_SLOPE_LAYER.setVisibility(false);
|
|
||||||
CTL_INFO.setText("급경사지 Off");
|
|
||||||
CTL_INFO.deactivate(); // 정보창도 비활성화
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
// 레이어를 보이게 설정하고 강제로 다시 그립니다.
|
|
||||||
STEEP_SLOPE_LAYER.setVisibility(true);
|
|
||||||
STEEP_SLOPE_LAYER.redraw(true);
|
|
||||||
|
|
||||||
// CTL_INFO의 infoDiv가 내부 요소를 absolute 포지셔닝할 수 있도록 'relative'로 설정
|
|
||||||
$(CTL_INFO.infoDiv).css("position", "relative");
|
|
||||||
|
|
||||||
// CTL_INFO 텍스트 설정 시 버튼 HTML을 함께 삽입
|
|
||||||
CTL_INFO.setText("급경사지 On");
|
|
||||||
CTL_INFO.activate();
|
|
||||||
$("#CTL_INFO").css("bottom", "65px");
|
|
||||||
$("#CTL_INFO").css("left", "20px");
|
|
||||||
|
|
||||||
showToast('급경사지 정보는 빨간색 선으로 보여집니다.');
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue