fix: 검색유통에서 사업 검색 결과 클릭 시 오류 현상 수정

main
thkim 2025-11-04 14:33:17 +09:00
parent 6d0dab72f6
commit ada3f17c56
8 changed files with 393 additions and 154 deletions

View File

@ -2,6 +2,7 @@ package geoinfo.api.geoinfo.service.impl;
import geoinfo.api.geoinfo.service.GeoinfoApiV1Mapper;
import geoinfo.api.geoinfo.service.GeoinfoApiV1Service;
import geoinfo.util.MyUtil;
import java.util.ArrayList;
import java.util.HashMap;
@ -27,6 +28,12 @@ public class GeoinfoApiV1ServiceImpl implements GeoinfoApiV1Service {
public int handleApiService(HttpServletRequest request, HashMap<String, Object> params, String spName, JSONObject jsonResponse) throws Exception {
if( params.get("ipAddress") == null ) {
String ipAddress = MyUtil.getIpAddress(request);
params.put("ipAddress", ipAddress);
}
//호출 프로시저 유효성 체크
spName = spName.trim();

View File

@ -271,6 +271,7 @@ public class MapLeftController {
JSONObject jsonResponse = new JSONObject();
HashMap<String, Object> handleApiServiceParams = new HashMap<String, Object>();
handleApiServiceParams.put("holeCode", params.get("hcode"));
handleApiServiceParams.put("apiKey", "91MhmaF8YlMZJlg6H4zruj8B5sKZWeRSoA5N4uXZjXg");
geoinfoApiV1Service.handleApiService(request, handleApiServiceParams, "sp-get-selectclass-info-h", jsonResponse);
ArrayList<HashMap<String, Object>> dataList = (ArrayList<HashMap<String, Object>>)jsonResponse.get("data");
if( dataList != null && 0 < dataList.size() ) {
@ -674,6 +675,7 @@ public class MapLeftController {
HashMap<String, Object> handleApiServiceParams = new HashMap<String, Object>();
handleApiServiceParams.put("projCode", params.get("pcode"));
handleApiServiceParams.put("apiKey", "91MhmaF8YlMZJlg6H4zruj8B5sKZWeRSoA5N4uXZjXg");
geoinfoApiV1Service.handleApiService(request, handleApiServiceParams, "sp-get-selectclass-info-p", jsonResponse);
EgovMap projectCount = mapLeftService.selectTblProjectCount(params);

View File

@ -872,6 +872,37 @@ public final class MyUtil {
public static String getIpAddress( HttpServletRequest request ) throws Exception {
String clientIp = "";
clientIp = request.getHeader("X-Forwarded-For");
if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) {
clientIp = request.getHeader("Proxy-Client-IP");
}
if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) {
clientIp = request.getHeader("WL-Proxy-Client-IP");
}
if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) {
clientIp = request.getHeader("HTTP_CLIENT_IP");
}
if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) {
clientIp = request.getHeader("HTTP_X_FORWARDED_FOR");
}
if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) {
clientIp = request.getHeader("X-Real-IP");
}
if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) {
clientIp = request.getHeader("X-RealIP");
}
if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) {
clientIp = request.getHeader("REMOTE_ADDR");
}
if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) {
clientIp = request.getRemoteAddr();
}
return clientIp;
}
}

View File

@ -14,7 +14,9 @@
#{mastCompany, jdbcType=VARCHAR},
#{addr, jdbcType=VARCHAR},
#{startDate, jdbcType=VARCHAR},
#{endDate, jdbcType=VARCHAR}
#{endDate, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
@ -25,55 +27,73 @@
#{mastCompany, jdbcType=VARCHAR},
#{addr, jdbcType=VARCHAR},
#{startDate, jdbcType=VARCHAR},
#{endDate, jdbcType=VARCHAR}
#{endDate, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetSelectclassInfoP" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_SELECTCLASS_INFO_P(
#{projCode, jdbcType=VARCHAR}
#{projCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spGetSelectclassInfoPh" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_SELECTCLASS_INFO_PH(
#{projCode, jdbcType=VARCHAR}
#{projCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spGetTblTopoGeology" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_TOPO_GEOLOGY(
#{projCode, jdbcType=VARCHAR}
#{projCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblTopoGeology" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_TOPO_GEOLOGY(
#{projCode, jdbcType=VARCHAR}
#{projCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblResistivitySurvey" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_RESISTIVITY_SURVEY(
#{projCode, jdbcType=VARCHAR}
#{projCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblResistivitySurvey" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_RESISTIVITY_SURVEY(
#{projCode, jdbcType=VARCHAR}
#{projCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRefractionSurvey" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_REFRACTION_SURVEY(
#{projCode, jdbcType=VARCHAR}
#{projCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRefractionSurvey" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_REFRACTION_SURVEY(
#{projCode, jdbcType=VARCHAR}
#{projCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
@ -92,7 +112,9 @@
#{maxX, jdbcType=DECIMAL},
#{maxY, jdbcType=DECIMAL},
#{startDate, jdbcType=VARCHAR},
#{endDate, jdbcType=VARCHAR}
#{endDate, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
@ -107,13 +129,17 @@
#{maxX, jdbcType=DECIMAL},
#{maxY, jdbcType=DECIMAL},
#{startDate, jdbcType=VARCHAR},
#{endDate, jdbcType=VARCHAR}
#{endDate, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetSelectclassInfoH" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_SELECTCLASS_INFO_H(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
@ -125,451 +151,595 @@
<select id="spGetTblLayerInfo" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_LAYER_INFO(
#{holeCode, jdbcType=VARCHAR},
#{layerCode, jdbcType=VARCHAR}
#{layerCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblLayerInfo" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_LAYER_INFO(
#{holeCode, jdbcType=VARCHAR},
#{layerCode, jdbcType=VARCHAR}
#{layerCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblSampleInfo" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_SAMPLE_INFO(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblSampleInfo" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_SAMPLE_INFO(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<!-- 현장 시험 -->
<select id="spGetTblSpt" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_SPT(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblSpt" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_SPT(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblSlickensideInfo" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_SLICKENSIDE_INFO(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblSlickensideInfo" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_SLICKENSIDE_INFO(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRqd" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_RQD(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRqd" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_RQD(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblDsf" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_DSF(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblDsf" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_DSF(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRmr" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_RMR(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRmr" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_RMR(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblQ" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_Q(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblQ" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_Q(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblFieldWaterpressure" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_FIELD_WATERPRESSURE(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblFieldWaterpressure" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_FIELD_WATERPRESSURE(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblWpTest" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_WP_TEST(
#{holeCode, jdbcType=VARCHAR},
#{wpCode, jdbcType=VARCHAR}
#{wpCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblWpTest" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_WP_TEST(
#{holeCode, jdbcType=VARCHAR},
#{wpCode, jdbcType=VARCHAR}
#{wpCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblFieldPermeability" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_FIELD_PERMEABILITY(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblFieldPermeability" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_FIELD_PERMEABILITY(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblFieldperSub" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_FIELDPER_SUB(
#{holeCode, jdbcType=VARCHAR},
#{fielderCode, jdbcType=VARCHAR}
#{fielderCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblFieldperSub" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_FIELDPER_SUB(
#{holeCode, jdbcType=VARCHAR},
#{fielderCode, jdbcType=VARCHAR}
#{fielderCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblFieldPressuremeter" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_FIELD_PRESSUREMETER(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblFieldPressuremeter" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_FIELD_PRESSUREMETER(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblFieldConePenetra" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_FIELD_CONE_PENETRA(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblFieldConePenetra" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_FIELD_CONE_PENETRA(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblBoreholeWave" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_BOREHOLE_WAVE(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblBoreholeWave" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_BOREHOLE_WAVE(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblDownhole" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_DOWNHOLE(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblDownhole" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_DOWNHOLE(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblDensity" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_DENSITY(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblDensity" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_DENSITY(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<!-- 실내 시험 -->
<select id="spGetTblClassification" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_CLASSIFICATION(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblClassification" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_CLASSIFICATION(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblCbrCompac" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_CBR_COMPAC(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblCbrCompac" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_CBR_COMPAC(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblConsolidationUsual" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_CONSOLIDATION_USUAL(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblConsolidationUsual" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_CONSOLIDATION_USUAL(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblConsolidation" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_CONSOLIDATION(
#{holeCode, jdbcType=VARCHAR},
#{sampleCode, jdbcType=VARCHAR}
#{sampleCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblConsolidation" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_CONSOLIDATION(
#{holeCode, jdbcType=VARCHAR},
#{sampleCode, jdbcType=VARCHAR}
#{sampleCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblUnconfinedUsual" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_UNCONFINED_USUAL(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblUnconfinedUsual" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_UNCONFINED_USUAL(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblTriaxialUsual" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_TRIAXIAL_USUAL(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblTriaxialUsual" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_TRIAXIAL_USUAL(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblTriaxialCu" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_TRIAXIAL_CU(
#{holeCode, jdbcType=VARCHAR},
#{sampleCode, jdbcType=VARCHAR}
#{sampleCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblTriaxialCu" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_TRIAXIAL_CU(
#{holeCode, jdbcType=VARCHAR},
#{sampleCode, jdbcType=VARCHAR}
#{sampleCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblTriaxialUu" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_TRIAXIAL_UU(
#{holeCode, jdbcType=VARCHAR},
#{sampleCode, jdbcType=VARCHAR}
#{sampleCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblTriaxialUu" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_TRIAXIAL_UU(
#{holeCode, jdbcType=VARCHAR},
#{sampleCode, jdbcType=VARCHAR}
#{sampleCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblResonantUsual" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_RESONANT_USUAL(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblResonantUsual" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_RESONANT_USUAL(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblResonant" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_RESONANT(
#{holeCode, jdbcType=VARCHAR},
#{sampleCode, jdbcType=VARCHAR}
#{sampleCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblResonant" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_RESONANT(
#{holeCode, jdbcType=VARCHAR},
#{sampleCode, jdbcType=VARCHAR}
#{sampleCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRepeatedTriaxialU" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_REPEATED_TRIAXIAL_U(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRepeatedTriaxialU" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_REPEATED_TRIAXIAL_U(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRepeatedTriaxial" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_REPEATED_TRIAXIAL(
#{holeCode, jdbcType=VARCHAR},
#{sampleCode, jdbcType=VARCHAR}
#{sampleCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRepeatedTriaxial" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_REPEATED_TRIAXIAL(
#{holeCode, jdbcType=VARCHAR},
#{sampleCode, jdbcType=VARCHAR}
#{sampleCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<!-- 암석 시험 -->
<select id="spGetTblRockUniaxial" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_ROCK_UNIAXIAL(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRockUniaxial" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_ROCK_UNIAXIAL(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRockTriaxial" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_ROCK_TRIAXIAL(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRockTriaxial" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_ROCK_TRIAXIAL(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRockPointload" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_ROCK_POINTLOAD(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRockPointload" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_ROCK_POINTLOAD(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRockJointshear" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_ROCK_JOINTSHEAR(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRockJointshear" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_ROCK_JOINTSHEAR(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRockResonantUsual" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_ROCK_RESONANT_USUAL(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRockResonantUsual" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_ROCK_RESONANT_USUAL(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRockReptTriU" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_ROCK_REPT_TRI_U(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRockReptTriU" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_ROCK_REPT_TRI_U(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>
<select id="spGetTblRockReptTri" parameterType="map" resultType="egovMap">
SELECT * FROM TABLE(SP_GET_TBL_ROCK_REPT_TRI(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
))
</select>
<select id="spCntTblRockReptTri" parameterType="map" resultType="int">
SELECT SP_CNT_TBL_ROCK_REPT_TRI(
#{holeCode, jdbcType=VARCHAR}
#{holeCode, jdbcType=VARCHAR},
#{apiKey, jdbcType=VARCHAR},
#{ipAddress, jdbcType=VARCHAR}
) FROM DUAL
</select>

View File

@ -271,6 +271,10 @@ function LoadingShow() {
<a href="javascript:geologyMine();"
class="map-right-btn map-btn-icon-mine">광산</a>
</li>
<li>
<a href="javascript:geologyWell();"
class="map-right-btn map-btn-icon-well">관정</a>
</li>
</ul>
</div>
<!-- 그리기도구 끝 -->
@ -791,34 +795,31 @@ function LoadingShow() {
var text = "";
for(var i=0; i<data.projectYn.length; i++){
// <- 여기에 동일한 holeCode값을 찾는 로직을 구현합니다.
var matchingBorehole = data.testCountsPerBorehole.find(function(borehole) {
return borehole.holeCode === data.projectYn[i].holeCode;
});
text += '<tr onclick="goOneHoleInfo(this, \'' + data.projectYn[i].holeCode + '\', \'' + JSON.stringify(matchingBorehole).replace(regexDoubleQutor, "|^|") + '\')">';
text += '<td class="t-center">'+data.projectYn[i].holeName+'</td>';
text += data.projectYn[i].depth != null ? '<td class="t-center">'+data.projectYn[i].depth+'</td>' : '<td class="t-right"></td>';
text += data.projectYn[i].el != null ? '<td class="t-center">'+data.projectYn[i].el+'</td>' : '<td class="t-right"></td>';
if(data.projectYn[i].wl == "-99999"){
text +='<td class="t-center">심도이하</td></tr>'
}else{
text += data.projectYn[i].wl != null ? '<td class="t-center">'+data.projectYn[i].wl+'</td>' : '<td class="t-right"></td>';
}
if( (data.projectYn[i].spt == 'Y')||(data.projectYn[i].tcrrqd == 'Y') ||(data.projectYn[i].dsf == 'Y') ||(data.projectYn[i].pressuremeter == 'Y')
||(data.projectYn[i].slickenside == 'Y') ||(data.projectYn[i].q == 'Y') ||(data.projectYn[i].rmr == 'Y') ||(data.projectYn[i].waterpressure == 'Y')
||(data.projectYn[i].permeablity == 'Y')||(data.projectYn[i].conePenetration == 'Y')){
// text += '<td class="t-center">V</td>'; //기본현장
}else{
// text += '<td class="t-center">V</td>'; //기본현장
}
if (matchingBorehole) {
text += '<tr onclick="goOneHoleInfo(this, \'' + data.projectYn[i].holeCode + '\', \'' + JSON.stringify(matchingBorehole).replace(regexDoubleQutor, "|^|") + '\')">';
text += '<td class="t-center">'+data.projectYn[i].holeName+'</td>';
text += data.projectYn[i].depth != null ? '<td class="t-center">'+data.projectYn[i].depth+'</td>' : '<td class="t-right"></td>';
text += data.projectYn[i].el != null ? '<td class="t-center">'+data.projectYn[i].el+'</td>' : '<td class="t-right"></td>';
if(data.projectYn[i].wl == "-99999"){
text +='<td class="t-center">심도이하</td></tr>'
}else{
text += data.projectYn[i].wl != null ? '<td class="t-center">'+data.projectYn[i].wl+'</td>' : '<td class="t-right"></td>';
}
if( (data.projectYn[i].spt == 'Y')||(data.projectYn[i].tcrrqd == 'Y') ||(data.projectYn[i].dsf == 'Y') ||(data.projectYn[i].pressuremeter == 'Y')
||(data.projectYn[i].slickenside == 'Y') ||(data.projectYn[i].q == 'Y') ||(data.projectYn[i].rmr == 'Y') ||(data.projectYn[i].waterpressure == 'Y')
||(data.projectYn[i].permeablity == 'Y')||(data.projectYn[i].conePenetration == 'Y')){
// text += '<td class="t-center">V</td>'; //기본현장
}else{
// text += '<td class="t-center">V</td>'; //기본현장
}
// Number(null) is 0.
// 시료정보( 기본물성 )

View File

@ -741,7 +741,7 @@ header .global-link-wrapper {
position: relative;
float: right;
display: inline-block;
margin-top: 20px;
margin-top: 0px;
z-index: 2;
}
.map-right-control-wrapper::after {
@ -752,7 +752,7 @@ header .global-link-wrapper {
.map-right-control-group {
background-color: #fff;
box-shadow: 4px 4px 10px rgba(0,0,0,0.2);
margin-top: 20px;
margin-top: 11px;
border-radius: 10px;
border: 1px solid #b6b6b6;
overflow: hidden;
@ -869,6 +869,9 @@ header .global-link-wrapper {
.map-right-btn-group > li .map-right-btn.map-btn-icon-mine::before {
background: url(../img/map-service/icon/ico_map_right_control_mine.png) no-repeat 50% 50%;
}
.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%;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -79,7 +79,6 @@ OpenLayers.Control.DragPopup = OpenLayers.Class(OpenLayers.Control, {
return OpenLayers.Control.prototype.deactivate.apply(this, arguments);
}
return false;
},
onMouseDown: function(evt) {
@ -306,13 +305,15 @@ var T_LAND_AS = "UGG_LTHF_AS";
var BASE_MAP; // 지도
var HOLE_LAYER; // 시추공 레이어
var HOLE_LAYER_M; // 시추공 레이어2
var GEOLOGY_LAYER; // 지질도 레이어 변수
var HOLE_LAYER_M; // 시추공 레이어2
var GEOLOGY_LAYER; // 지질도/광물 레이어
var MINERAL_LAYER; // 광물 레이어
var MINE_LAYER; // 광산 레이어
var HOLE_SELECT; // 시추공 선택
var HOLE_SELECT2; // 3d지반
var HOLE_AREA; // 영역 선택
var HOLE_DRAW; // 그리기 도구
var HOLE_TOOLTIP; // 툴팁
var HOLE_AREA; // 영역 선택
var HOLE_DRAW; // 그리기 도구
var HOLE_TOOLTIP; // 툴팁
var HOLE_DRILLING; // 발주기관 시추공
@ -383,8 +384,6 @@ var autoCircle = false;
var circleDraw = false;
var MINE_POPUP = null; // 광산 팝업 객체를 저장할 변수
var mineDragControl = null; // 광산 팝업의 드래그 컨트롤을 저장할 변수
var geologyLayers = {
"지질도_5만_지질도": "L_50K_Geology_Map",
"지질도_25만_지질도": "L_250K_Geology_Map",
@ -400,19 +399,9 @@ var geologyLayers = {
"지화학도_리튬": "L_geochemMP_LI",
"지화학도_마그네슘": "L_geochemMP_MGO",
"지화학도_망간": "L_geochemMP_MNO",
"지화학도_바나듐": "L_geochemMP_V",
"지화학도_바나듐/아연/지르코늄/철/칼륨/칼슘/코발트/크롬/티탄/납/구리": "L_geochemMP_V",
"지화학도_바륨": "L_geochemMP_BA",
"지화학도_스트론튬": "L_geochemMP_SR",
"지화학도_아연": "L_geochemMP_V",
"지화학도_지르코늄": "L_geochemMP_V",
"지화학도_철": "L_geochemMP_V",
"지화학도_칼륨": "L_geochemMP_V",
"지화학도_칼슘": "L_geochemMP_V",
"지화학도_코발트": "L_geochemMP_V",
"지화학도_크롬": "L_geochemMP_V",
"지화학도_티탄": "L_geochemMP_V",
"지화학도_납": "L_geochemMP_V",
"지화학도_구리": "L_geochemMP_V",
"탄전지질도_1만_탄전지질도": "L_10k_coalfield_geologic_map",
"탄전지질도_2.5만_탄전지질도": "L_25k_coalfield_geologic_map",
"해저지질도_탐사항적도": "Marine_geology_prospect",
@ -793,6 +782,28 @@ function initApp(param){
BASE_MAP.addLayer(GEOLOGY_LAYER);
// ▲▲▲ 지질도 WMS 레이어 생성 ▲▲▲
// 광산정보
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
}
);
BASE_MAP.addLayer(MINE_LAYER);
// ▼▼▼ 레이어 순서(Z-index) 조정 코드 ▼▼▼
if (GEOLOGY_LAYER) {
// 배경 지도(VWorld)를 가장 아래(index 0)에 둡니다.
@ -800,9 +811,12 @@ function initApp(param){
// 지질도 레이어를 그 위(index 1)에 둡니다.
BASE_MAP.setLayerIndex(GEOLOGY_LAYER, 1);
// 광산 레이어를 그 위(index 2)에 둡니다.
BASE_MAP.setLayerIndex(MINE_LAYER, 2);
// 시추공 레이어를 가장 위(index 2)로 올립니다.
BASE_MAP.setLayerIndex(HOLE_LAYER, 2);
// 시추공 레이어를 가장 위(index 3)로 올립니다.
BASE_MAP.setLayerIndex(HOLE_LAYER, 3);
}
// [추가] 레이어 순서(Z-index) 조정 코드 ▲▲▲
@ -3562,6 +3576,10 @@ function initControl(){
}
initCoordinateRadioControl();
if( GEOLOGY_LAYER && GEOLOGY_LAYER.active ) {
GEOLOGY_LAYER.deactivate();
}
}
function initCoordinateControl(){
@ -4999,41 +5017,40 @@ function geologyMode() {
}
}
function geologyMine() {
/* 20251104 기준 광물 정보를 호출하는 버튼이 존재하지 않음. 광물 정보를 호출하면 광물정보가 나타나도록 구현은 되어 있음 */
function geologyMineral() {
initControl(); // 다른 컨트롤 상태 초기화
// 이전에 생성된 팝업과 관련 이벤트 리스너를 확실하게 제거합니다.
$(document).off('mousemove.minePopup').off('mouseup.minePopup');
if ($('#geologyMinePopup').length > 0) {
$('#geologyMinePopup').remove();
$(document).off('mousemove.mineralPopup').off('mouseup.mineralPopup');
if ($('#geologyMineralPopup').length > 0) {
$('#geologyMineralPopup').remove();
}
// 1. 팝업에 표시할 목록 데이터를 배열로 정의합니다.
var mineLayerList = [
var mineralLayerList = [
"지화학도_전기전도도", "지화학도_수소이온농도도", "지화학도_니켈",
"지화학도_루비듐", "지화학도_리튬", "지화학도_마그네슘", "지화학도_망간",
"지화학도_바나듐", "지화학도_바륨", "지화학도_스트론튬", "지화학도_아연",
"지화학도_지르코늄", "지화학도_철", "지화학도_칼륨", "지화학도_칼슘",
"지화학도_코발트", "지화학도_크롬", "지화학도_티탄", "지화학도_납", "지화학도_구리"
"지화학도_바나듐/아연/지르코늄/철/칼륨/칼슘/코발트/크롬/티탄/납/구리", "지화학도_바륨", "지화학도_스트론튬"
].reverse();
// 2. 팝업창의 HTML 구조를 만듭니다.
var popupHtml =
'<div id="geologyMinePopup" style="position: absolute; width: 300px; z-index: 10000; box-shadow: 0 5px 15px rgba(0,0,0,0.5); font-family: \'Malgun Gothic\', sans-serif; visibility: hidden;">' +
'<div id="geologyMineralPopup" style="position: absolute; width: 300px; z-index: 10000; box-shadow: 0 5px 15px rgba(0,0,0,0.5); font-family: \'Malgun Gothic\', sans-serif; visibility: hidden;">' +
' <div class="popup-header" style="background-color: #004e99; color: white; font-size: 16px; font-weight: bold; padding: 8px 10px; cursor: move; display: flex; justify-content: space-between; align-items: center;">' +
' <span>광산 레이어 선택</span>' +
' <button id="closeMinePopupBtn" style="background: none; border: none; font-size: 20px; color: white; cursor: pointer; line-height: 1;">&times;</button>' +
' <button id="closemineralPopupBtn" style="background: none; border: none; font-size: 20px; color: white; cursor: pointer; line-height: 1;">&times;</button>' +
' </div>' +
' <ul id="mineLayerListContainer" style="list-style: none; padding: 0; margin: 0; max-height: 400px; overflow-y: auto; border: 1px solid #ddd; background-color: #fff;">';
' <ul id="mineralLayerListContainer" style="list-style: none; padding: 0; margin: 0; max-height: 400px; overflow-y: auto; border: 1px solid #ddd; background-color: #fff;">';
for (var i = 0; i < mineLayerList.length; i++) {
popupHtml += '<li class="mine-layer-item" style="padding: 10px; border-bottom: 1px solid #eee; cursor: pointer;">' + mineLayerList[i].replace('지화학도_', '') + '</li>';
for (var i = 0; i < mineralLayerList.length; i++) {
popupHtml += '<li class="mine-layer-item" style="padding: 10px; border-bottom: 1px solid #eee; cursor: pointer;">' + mineralLayerList[i].replace('지화학도_', '') + '</li>';
}
popupHtml += '</ul></div>';
// 3. 생성된 HTML을 <body>에 추가하고 위치를 계산합니다.
$('body').append(popupHtml);
var popup = $('#geologyMinePopup');
var popup = $('#geologyMineralPopup');
var popupWidth = popup.outerWidth();
var popupHeight = popup.outerHeight();
var initialTop = $(window).height() - popupHeight - 20;
@ -5057,7 +5074,7 @@ function geologyMine() {
e.preventDefault();
});
$(document).on('mousemove.minePopup', function(e) {
$(document).on('mousemove.mineralPopup', function(e) {
if (isDragging) {
popup.offset({
top: e.pageY - offset.y,
@ -5066,13 +5083,13 @@ function geologyMine() {
}
});
$(document).on('mouseup.minePopup', function() {
$(document).on('mouseup.mineralPopup', function() {
isDragging = false;
});
// 5. 팝업 내 요소들에 이벤트 바인딩
$('#closeMinePopupBtn').on('click', function() {
$(document).off('mousemove.minePopup').off('mouseup.minePopup');
$('#closemineralPopupBtn').on('click', function() {
$(document).off('mousemove.mineralPopup').off('mouseup.mineralPopup');
popup.remove();
});
@ -5087,15 +5104,13 @@ function geologyMine() {
if (GEOLOGY_LAYER && wmsLayerName) {
var newUrl = GEOLOGY_LAYER.url.replace(/(LAYERS=)([^&]*)/, '$1' + wmsLayerName);
// ▼▼▼ 핵심 수정 부분 ▼▼▼
// 레이어 객체의 url 속성을 직접 변경하는 대신, setUrl() 메소드를 사용합니다.
GEOLOGY_LAYER.setUrl(newUrl);
// ▲▲▲ 핵심 수정 부분 ▲▲▲
GEOLOGY_LAYER.setVisibility(true);
GEOLOGY_LAYER.redraw(true);
CTL_INFO.setText("광: " + selectedItemText);
CTL_INFO.setText("광: " + selectedItemText);
CTL_INFO.activate();
$("#CTL_INFO").css("bottom", "65px");
$("#CTL_INFO").css("left", "20px");
@ -5103,7 +5118,17 @@ function geologyMine() {
console.error("선택한 항목에 대한 레이어를 찾을 수 없습니다:", geologyLayersKey);
}
$(document).off('mousemove.minePopup').off('mouseup.minePopup');
$(document).off('mousemove.mineralPopup').off('mouseup.mineralPopup');
popup.remove();
});
}
function geologyMine() {
initControl(); // 다른 컨트롤 상태 초기화
alert('관산 기능이 곧 오픈됩니다.');
}
function geologyWell() {
initControl(); // 다른 컨트롤 상태 초기화
alert('관정 기능이 곧 오픈됩니다.');
}