feat: 관정 정보 추가
parent
ea1849289f
commit
c918bbc6be
|
|
@ -2220,7 +2220,7 @@ public class MainController
|
|||
filePath = filePath.replaceAll("\\|1\\|", "/");
|
||||
filePath = filePath.replaceAll("\\|2\\|", ".");
|
||||
}
|
||||
|
||||
System.out.println("실제 파일 다운로드를 처리하는 최종 파일경로 ::: " + path + filePath);
|
||||
File file = new File(path + filePath);
|
||||
int filesize = (int) file.length();
|
||||
if (filesize > 0)
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@
|
|||
//document.domain = "abc.go.kr";
|
||||
|
||||
function init(){
|
||||
|
||||
var url = location.href;
|
||||
var confmKey = "U01TX0FVVEgyMDE4MDYxNTExMTczMTEwNzk0NjQ=";//승인키
|
||||
// resultType항목 추가(2016.10.06)
|
||||
|
|
|
|||
|
|
@ -497,7 +497,7 @@
|
|||
</c:if>
|
||||
<c:if test="${status.index eq 4}">
|
||||
<%-- <a href="#" class="shortcuts-btn-box shortcuts-btn-04" onclick="fileDown('${file.stored_file_name}', 'home', '${status.index + 1}')"> --%>
|
||||
<a href="#" class="shortcuts-btn-box shortcuts-btn-04" onclick="javascript:fileDownload('지반정보입력_프로그램메뉴얼.zip','지반정보입력_프로그램메뉴얼.zip');">
|
||||
<a href="#" class="shortcuts-btn-box shortcuts-btn-04" onclick="javascript:fileDownload('시추정보_입력_가이드라인_2025.pdf','시추정보_입력_가이드라인_2025.pdf');">
|
||||
<span class="shortcuts-btn-text">지반정보 입력<br />프로그램 메뉴얼<br />(PDF파일)</span>
|
||||
</a>
|
||||
</c:if>
|
||||
|
|
|
|||
|
|
@ -275,6 +275,10 @@ function LoadingShow() {
|
|||
<a href="javascript:geologyWell();"
|
||||
class="map-right-btn map-btn-icon-well">관정</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="javascript:geologySteepSlope();"
|
||||
class="map-right-btn map-btn-icon-steep-slope">급경사지</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- 그리기도구 끝 -->
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
String inputYn = request.getParameter("inputYn");
|
||||
String roadFullAddr = request.getParameter("roadFullAddr");
|
||||
String roadAddrPart1 = request.getParameter("roadAddrPart1");
|
||||
String roadAddrPart2 = request.getParameter("roadAddrPart2");
|
||||
String roadAddrPart2 = request.getParameter("roadAddrPart2");
|
||||
String engAddr = request.getParameter("engAddr");
|
||||
String jibunAddr = request.getParameter("jibunAddr");
|
||||
String zipNo = request.getParameter("zipNo");
|
||||
|
|
@ -47,8 +47,8 @@ function init(){
|
|||
var confmKey = "U01TX0FVVEgyMDE4MDYxNTExMTczMTEwNzk0NjQ=";//승인키
|
||||
// resultType항목 추가(2016.10.06)
|
||||
var resultType = "4"; // 도로명주소 검색결과 화면 출력유형, 1 : 도로명, 2 : 도로명+지번, 3 : 도로명+상세건물명, 4 : 도로명+지번+상세건물명
|
||||
<%-- var inputYn= "<%=inputYn%>"; --%>
|
||||
var inputYn= '<c:out value='${inputYn}'/>';
|
||||
var inputYn= "<%=inputYn%>";
|
||||
//var inputYn= '<c:out value='${inputYn}'/>';
|
||||
if(inputYn != "Y"){
|
||||
document.form.confmKey.value = confmKey;
|
||||
document.form.returnUrl.value = url;
|
||||
|
|
@ -62,10 +62,17 @@ function init(){
|
|||
, "<%=jibunAddr%>","<%=zipNo%>", "<%=admCd%>", "<%=rnMgtSn%>", "<%=bdMgtSn%>", "<%=detBdNmList%>"
|
||||
, "<%=bdNm%>", "<%=bdKdcd%>", "<%=siNm%>", "<%=sggNm%>", "<%=emdNm%>", "<%=liNm%>", "<%=rn%>", "<%=udrtYn%>"
|
||||
, "<%=buldMnnm%>", "<%=buldSlno%>", "<%=mtYn%>", "<%=lnbrMnnm%>", "<%=lnbrSlno%>", "<%=emdNo%>"); --%>
|
||||
opener.jusoCallBack("<c:out value="${roadFullAddr}"/>","<c:out value="${roadAddrPart1}"/>","<c:out value="${addrDetail}"/>", "<c:out value="${roadAddrPart2}"/>","<c:out value="${engAddr}"/>"
|
||||
|
||||
opener.jusoCallBack("<%=roadFullAddr%>","<%=roadAddrPart1%>","<%=addrDetail%>", "<%=roadAddrPart2%>","<%=engAddr%>"
|
||||
, "<%=jibunAddr%>","<%=zipNo%>", "<%=admCd%>", "<%=rnMgtSn%>", "<%=bdMgtSn%>", "<%=detBdNmList%>"
|
||||
, "<%=bdNm%>", "<%=bdKdcd%>", "<%=siNm%>", "<%=sggNm%>", "<%=emdNm%>", "<%=liNm%>", "<%=rn%>", "<%=udrtYn%>"
|
||||
, "<%=buldMnnm%>", "<%=buldSlno%>", "<%=mtYn%>", "<%=lnbrMnnm%>", "<%=lnbrSlno%>", "<%=emdNo%>");
|
||||
<%--
|
||||
opener.jusoCallBack("<c:out value="${roadFullAddr}"/>","<c:out value="${roadAddrPart1}"/>","<c:out value="${addrDetail}"/>", "<c:out value="${roadAddrPart2}"/>","<c:out value="${engAddr}"/>"
|
||||
, "<c:out value="${jibunAddr}"/>","<c:out value="${zipNo}"/>", "<c:out value="${admCd}"/>", "<c:out value="${rnMgtSn}"/>", "<c:out value="${bdMgtSn}"/>", "<c:out value="${detBdNmList}"/>"
|
||||
, "<c:out value="${bdNm}"/>", "<c:out value="${bdKdcd}"/>", "<c:out value="${siNm}"/>", "<c:out value="${sggNm}"/>", "<c:out value="${emdNm}"/>", "<c:out value="${liNm}"/>", "<c:out value="${rn}"/>", "<c:out value="${udrtYn}"/>"
|
||||
, "<c:out value="${buldMnnm}"/>", "<c:out value="${buldSlno}"/>", "<c:out value="${mtYn}"/>", "<c:out value="${lnbrMnnm}"/>", "<c:out value="${lnbrSlno}"/>", "<c:out value="${emdNo}"/>");
|
||||
--%>
|
||||
|
||||
window.close();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -872,7 +872,9 @@ header .global-link-wrapper {
|
|||
.map-right-btn-group > li .map-right-btn.map-btn-icon-well::before {
|
||||
background: url(../img/map-service/icon/ico_map_right_control_well.png) no-repeat 50% 50%;
|
||||
}
|
||||
|
||||
.map-right-btn-group > li .map-right-btn.map-btn-icon-steep-slope::before {
|
||||
background: url(../img/map-service/icon/ico_map_right_control_steep_slope.png) no-repeat 50% 50%;
|
||||
}
|
||||
|
||||
|
||||
/* 지도구분 탭 시작 */
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 743 B |
|
|
@ -1,7 +1,3 @@
|
|||
/*******************************************************************************
|
||||
* ????? ?? ????????o??
|
||||
******************************************************************************/
|
||||
|
||||
function zipsearch() {
|
||||
//window.open("postcode.do", "Addr_Search","toolbar=no,menubar=no,scrollbars=yes,resizable=no,width=460,height=500");
|
||||
//var pop = window.open("postcode.do","_blank","width=570,height=420, scrollbars=yes, resizable=yes");
|
||||
|
|
|
|||
|
|
@ -308,7 +308,9 @@ var HOLE_LAYER; // 시추공 레이어
|
|||
var HOLE_LAYER_M; // 시추공 레이어2
|
||||
var GEOLOGY_LAYER; // 지질도/광물 레이어
|
||||
var MINERAL_LAYER; // 광물 레이어
|
||||
var MINE_LAYER; // 광산 레이어
|
||||
var MINE_LAYER; // 광산 레이어
|
||||
var WELL_LAYER; // 관정 레이어
|
||||
var STEEP_SLOPE_LAYER; // 급경사지 레이어
|
||||
var HOLE_SELECT; // 시추공 선택
|
||||
var HOLE_SELECT2; // 3d지반
|
||||
var HOLE_AREA; // 영역 선택
|
||||
|
|
@ -784,26 +786,110 @@ function initApp(param){
|
|||
|
||||
|
||||
|
||||
// 광산정보
|
||||
var mineBaseUrl = "https://apis.data.go.kr/1480523/GeologicalService/getMineWMS" +
|
||||
"?ServiceKey=L1z0zEpxNLB0Sqwv97WAIyL1lB%2BshPemDLNaG9hy9g3BzbkXRVG2%2FaSTZ7PiAAivgaCYn9p1tLmq2keiC4yFZA%3D%3D" +
|
||||
"&srs=EPSG%3A3857" + // 정상 동작하는 요청의 버전
|
||||
"&format=png" +
|
||||
"&transparent=true";
|
||||
MINE_LAYER = new OpenLayers.Layer.WMS(
|
||||
"Mine Map",
|
||||
mineBaseUrl, // 파라미터가 포함된 URL 사용
|
||||
{}, // params 객체는 비워둠
|
||||
{
|
||||
isBaseLayer: false,
|
||||
visibility: false,
|
||||
singleTile: true,
|
||||
opacity: 0.7
|
||||
}
|
||||
);
|
||||
// ▼▼▼ 광산정보 ▼▼▼
|
||||
// 1. Base URL (쿼리 파라미터 제외)
|
||||
var mineBaseUrl = "https://apis.data.go.kr/1480523/GeologicalService/getMineWMS";
|
||||
|
||||
// 2. 정적 파라미터 (ServiceKey, srs 등)
|
||||
var mineParams = {
|
||||
ServiceKey: "L1z0zEpxNLB0Sqwv97WAIyL1lB+shPemDLNaG9hy9g3BzbkXRVG2/aSTZ7PiAAivgaCYn9p1tLmq2keiC4yFZA==",
|
||||
srs: "EPSG:3857",
|
||||
format: "png",
|
||||
transparent: true
|
||||
};
|
||||
|
||||
|
||||
MINE_LAYER = new OpenLayers.Layer.Grid(
|
||||
"Mine Map",
|
||||
mineBaseUrl, // Base URL
|
||||
mineParams, // 정적 파라미터
|
||||
{
|
||||
isBaseLayer: false,
|
||||
visibility: false,
|
||||
opacity: 0.7,
|
||||
singleTile: true, // 단일 타일로 요청
|
||||
|
||||
/**
|
||||
* getURL 함수를 재정의(override)하여
|
||||
* 원하는 URL 형식을 직접 만듭니다.
|
||||
*/
|
||||
getURL: function(bounds) {
|
||||
// 1. 맵의 현재 영역(bounds)을 BBOX 문자열로 변환
|
||||
var bbox = bounds.toBBOX();
|
||||
|
||||
// 2. 맵의 현재 픽셀 크기(width, height)
|
||||
var size = this.map.getSize();
|
||||
|
||||
// 3. 기본 URL (mineBaseUrl)
|
||||
var url = this.url;
|
||||
|
||||
// 4. 정적 파라미터 (ServiceKey, srs, format 등) 복사
|
||||
// OpenLayers.Util.extend는 객체를 복사합니다.
|
||||
var params = OpenLayers.Util.extend({}, this.params);
|
||||
|
||||
// 5. 동적 파라미터 (bbox, width, height) 추가
|
||||
params.bbox = bbox;
|
||||
params.width = size.w;
|
||||
params.height = size.h;
|
||||
|
||||
// 6. 모든 파라미터를 URL에 조합하여 최종 요청 URL 반환
|
||||
// OpenLayers.Util.urlAppend가 ? 와 & 를 알아서 처리해줍니다.
|
||||
return OpenLayers.Util.urlAppend(url, OpenLayers.Util.getParameterString(params));
|
||||
}
|
||||
}
|
||||
);
|
||||
BASE_MAP.addLayer(MINE_LAYER);
|
||||
// ▲▲▲ 광산정보 ▲▲▲
|
||||
|
||||
|
||||
|
||||
// ▼▼▼ 관정정보 ▼▼▼
|
||||
// 1. Base URL (쿼리 파라미터 제외)
|
||||
var wellBaseUrl = "https://api.vworld.kr/req/wms";
|
||||
|
||||
// 2. 정적 파라미터 (ServiceKey, srs 등)
|
||||
var wellParams = {
|
||||
SERVICE: "WMS",
|
||||
REQUEST: "GetMap",
|
||||
VERSION: "1.3.0",
|
||||
LAYERS: "lt_l_gimsdepth,lt_l_gimspoten,lt_l_gimsdirec",
|
||||
STYLES: "lt_l_gimsdepth,lt_l_gimspoten,lt_l_gimsdirec",
|
||||
CRS: "EPSG:3857"
|
||||
};
|
||||
|
||||
|
||||
WELL_LAYER = new OpenLayers.Layer.Grid(
|
||||
"Well Map",
|
||||
wellBaseUrl, // Base URL
|
||||
wellParams, // 정적 파라미터
|
||||
{
|
||||
isBaseLayer: false,
|
||||
visibility: false,
|
||||
opacity: 0.7,
|
||||
singleTile: true, // 단일 타일로 요청
|
||||
|
||||
getURL: function(bounds) {
|
||||
var bbox = bounds.toBBOX();
|
||||
var size = this.map.getSize();
|
||||
var url = this.url;
|
||||
var params = OpenLayers.Util.extend({}, this.params);
|
||||
params.BBOX = bbox;
|
||||
params.WIDTH = size.w;
|
||||
params.HEIGHT = size.h;
|
||||
params.FORMAT = "image/png";
|
||||
params.TRANSPARENT = "true";
|
||||
params.BGCOLOR = "0xFFFFFF";
|
||||
params.EXCEPTIONS = "text/xml";
|
||||
params.KEY = "F4C6834D-604A-35C3-8DBE-DFA19631CA14";
|
||||
params.DOMAIN = "localhost";
|
||||
|
||||
return OpenLayers.Util.urlAppend(url, OpenLayers.Util.getParameterString(params));
|
||||
}
|
||||
}
|
||||
);
|
||||
BASE_MAP.addLayer(WELL_LAYER);
|
||||
// ▲▲▲ 관정정보 ▲▲▲
|
||||
|
||||
// ▼▼▼ 레이어 순서(Z-index) 조정 코드 ▼▼▼
|
||||
if (GEOLOGY_LAYER) {
|
||||
// 배경 지도(VWorld)를 가장 아래(index 0)에 둡니다.
|
||||
|
|
@ -812,13 +898,19 @@ function initApp(param){
|
|||
// 지질도 레이어를 그 위(index 1)에 둡니다.
|
||||
BASE_MAP.setLayerIndex(GEOLOGY_LAYER, 1);
|
||||
|
||||
// 광산 레이어를 그 위(index 2)에 둡니다.
|
||||
BASE_MAP.setLayerIndex(MINE_LAYER, 2);
|
||||
// 관정 레이어를 가장 위(index 2)로 올립니다.
|
||||
BASE_MAP.setLayerIndex(WELL_LAYER, 2);
|
||||
|
||||
// 급경사지 레이어를 가장 위(index 3)로 올립니다.
|
||||
//BASE_MAP.setLayerIndex(STEEP_SLOPE_LAYER, 3);
|
||||
|
||||
// 시추공 레이어를 가장 위(index 3)로 올립니다.
|
||||
BASE_MAP.setLayerIndex(HOLE_LAYER, 3);
|
||||
// 시추공 레이어를 가장 위(index 5)로 올립니다.
|
||||
BASE_MAP.setLayerIndex(HOLE_LAYER, 5);
|
||||
|
||||
// 광산 레이어를 그 위(index 6)에 둡니다.
|
||||
BASE_MAP.setLayerIndex(MINE_LAYER, 6);
|
||||
}
|
||||
// [추가] 레이어 순서(Z-index) 조정 코드 ▲▲▲
|
||||
// ▲▲▲ 레이어 순서(Z-index) 조정 코드 ▲▲▲
|
||||
|
||||
var textStyle = new OpenLayers.Style({
|
||||
// feature의 'attributes' 객체에 있는 속성들을 참조하여 스타일을 동적으로 적용합니다.
|
||||
|
|
@ -3580,6 +3672,19 @@ function initControl(){
|
|||
if( GEOLOGY_LAYER && GEOLOGY_LAYER.active ) {
|
||||
GEOLOGY_LAYER.deactivate();
|
||||
}
|
||||
|
||||
if( MINE_LAYER && MINE_LAYER.active ) {
|
||||
MINE_LAYER.deactivate();
|
||||
}
|
||||
|
||||
if( WELL_LAYER && WELL_LAYER.active ) {
|
||||
WELL_LAYER.deactivate();
|
||||
}
|
||||
|
||||
if( STEEP_SLOPE_LAYER && STEEP_SLOPE_LAYER.active ) {
|
||||
STEEP_SLOPE_LAYER.deactivate();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function initCoordinateControl(){
|
||||
|
|
@ -5125,10 +5230,84 @@ function geologyMineral() {
|
|||
|
||||
function geologyMine() {
|
||||
initControl(); // 다른 컨트롤 상태 초기화
|
||||
alert('관산 기능이 곧 오픈됩니다.');
|
||||
|
||||
// MINE_LAYER가 정상적으로 생성되었는지 확인
|
||||
if (!MINE_LAYER) {
|
||||
console.error("광산 레이어가 초기화되지 않았습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
// 현재 레이어의 표시 상태를 가져옵니다.
|
||||
var isVisible = MINE_LAYER.getVisibility();
|
||||
|
||||
if (isVisible ) {
|
||||
// 레이어가 현재 보이고 있다면, 숨깁니다.
|
||||
MINE_LAYER.setVisibility(false);
|
||||
CTL_INFO.setText("지질 Off");
|
||||
CTL_INFO.deactivate(); // 정보창도 비활성화
|
||||
|
||||
removeGeologyLegend(); // 끌 때 범례도 닫습니다.
|
||||
|
||||
} else {
|
||||
|
||||
// 레이어를 보이게 설정하고 강제로 다시 그립니다.
|
||||
MINE_LAYER.setVisibility(true);
|
||||
MINE_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");
|
||||
}
|
||||
|
||||
alert('광산은 공개된 데이터가 많지 않습니다. 빨간색 사각형으로 표시됩니다.');
|
||||
}
|
||||
|
||||
|
||||
// 관정 보기 버튼 눌렀을 때 호출됨.
|
||||
function geologyWell() {
|
||||
initControl(); // 다른 컨트롤 상태 초기화
|
||||
alert('관정 기능이 곧 오픈됩니다.');
|
||||
|
||||
// WELL_LAYER 가 정상적으로 생성되었는지 확인
|
||||
if (!WELL_LAYER) {
|
||||
console.error("관정 레이어가 초기화되지 않았습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
// 현재 레이어의 표시 상태를 가져옵니다.
|
||||
var isVisible = WELL_LAYER.getVisibility();
|
||||
|
||||
if (isVisible ) {
|
||||
// 레이어가 현재 보이고 있다면, 숨깁니다.
|
||||
WELL_LAYER.setVisibility(false);
|
||||
CTL_INFO.setText("관정 Off");
|
||||
CTL_INFO.deactivate(); // 정보창도 비활성화
|
||||
//removeGeologyLegend(); // 끌 때 범례도 닫습니다.
|
||||
|
||||
} else {
|
||||
|
||||
// 레이어를 보이게 설정하고 강제로 다시 그립니다.
|
||||
WELL_LAYER.setVisibility(true);
|
||||
WELL_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");
|
||||
}
|
||||
alert('관정 정보는 지도를 최대로 확대시에만 보여집니다.');
|
||||
}
|
||||
|
||||
//급경사지 버튼 눌렀을 때 호출됨.
|
||||
function geologySteepSlope() {
|
||||
initControl(); // 다른 컨트롤 상태 초기화
|
||||
alert('급경사지 보기 기능이 곧 오픈됩니다.');
|
||||
}
|
||||
Loading…
Reference in New Issue