From 28e006b68529bbb5e6f9ffc92e9c060240eeddca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?junh=5Feee=28=EC=9D=B4=EC=A4=80=ED=9D=AC=29?= Date: Mon, 30 Oct 2023 15:11:32 +0900 Subject: [PATCH] =?UTF-8?q?laanc=20=EB=B9=84=ED=96=89=EA=B5=AC=EC=97=AD=20?= =?UTF-8?q?elev=EA=B0=92=20redux=20=EB=B0=94=EB=A1=9C=20=EC=A0=80=EC=9E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/laanc/map/LaancAreaMap.js | 9 ++---- src/components/laanc/map/LaancDrawControl.js | 32 +++++++++----------- src/modules/laanc/sagas/laancSagas.ts | 4 +-- 3 files changed, 19 insertions(+), 26 deletions(-) diff --git a/src/components/laanc/map/LaancAreaMap.js b/src/components/laanc/map/LaancAreaMap.js index b307301..3667cbe 100644 --- a/src/components/laanc/map/LaancAreaMap.js +++ b/src/components/laanc/map/LaancAreaMap.js @@ -47,7 +47,6 @@ export default function LaancAreaMap({ const dispatch = useDispatch(); const mapControl = useSelector(state => state.controlMapReducer); const { areaCoordList } = useSelector(state => state.flightState); - const { inAirArea } = useSelector(state => state.flightState); const [mapObject, setMapObject] = useState(); const [isMapLoad, setIsMapLoad] = useState(false); @@ -82,10 +81,6 @@ export default function LaancAreaMap({ setMode(mapControl.drawType); }, [mapControl.drawType]); - // useEffect(() => { - // console.log(inAirArea, '--inairARea'); - // }, [inAirArea]); - useEffect(() => { if (areaCoordList && mapObject) { if ( @@ -301,11 +296,11 @@ export default function LaancAreaMap({ const handlerCoordinates = areaInfo => { const areaList = handlerAreaInfoToAreaList(areaInfo); + // dispatch(LaancAction.LAANC_ALTITUDE.request(areaList)); + dispatch(LaancAction.LAANC_VALID_AREA.request(areaList)); if (areaInfo.areaType === 'LINE' || areaInfo.areaType === 'POLYGON') { dispatch(FLIGHT_PLAN_AREA_BUFFER_LIST.request(areaList)); } else { - dispatch(LaancAction.LAANC_ALTITUDE.request(areaList)); - dispatch(LaancAction.LAANC_VALID_AREA.request(areaList)); setMapAreaCoordList(areaList); } }; diff --git a/src/components/laanc/map/LaancDrawControl.js b/src/components/laanc/map/LaancDrawControl.js index 503e706..d44056d 100644 --- a/src/components/laanc/map/LaancDrawControl.js +++ b/src/components/laanc/map/LaancDrawControl.js @@ -14,11 +14,14 @@ import { drawTypeChangeAction } from '../../../modules/control/map/actions/contr import MapboxDraw from '@mapbox/mapbox-gl-draw'; import { CircleMode } from 'mapbox-gl-draw-circle'; import axios from '../../../modules/utils/customAxiosUtil'; +import * as LaancAction from '../../../modules/laanc/actions/laancActions'; export const LaancDrawControl = props => { const dispatch = useDispatch(); const mapControl = useSelector(state => state.controlMapReducer); + const { laancElev } = useSelector(state => state.laancState); + const drawObj = props.drawObj; const mapObject = props.mapObject; @@ -32,6 +35,10 @@ export const LaancDrawControl = props => { desc: '' }); + // useEffect(() => { + // console.log(laancElev, '----elev'); + // }, [laancElev]); + useEffect(() => { const areaType = props.areaCoordList[0].areaType; const drawType = mapControl.drawType; @@ -200,38 +207,28 @@ export const LaancDrawControl = props => { const areaInfo = handlerSettingAreaInfo(coords, mode); const areaList = props.handlerAreaInfoToAreaList(areaInfo); + let isBreak = false; // 비행금지 구역 체크 console.log('unableElev'); try { const elev1 = await axios.post(`api/bas/laanc/valid/elev`, areaList); + dispatch(LaancAction.LAANC_ALTITUDE.success(elev1.data)); const elev2 = []; - if (mode === 'CIRCLE') { - const point = mapObject.project(coords); + const formatCoords = mode === 'CIRCLE' ? [coords] : coords; + for (let i = 0; i < formatCoords.length; i++) { + const point = mapObject.project(formatCoords[i]); const maine = mapObject.queryRenderedFeatures(point, { layers: ['maine'] }); + if (maine.length > 0) { if (maine[0].properties.description.includes('김포공항 비행불가')) { elev2.push(maine[0]); isBreak = true; - } - } - } else { - for (let i = 0; i < coords.length; i++) { - const point = mapObject.project(coords[i]); - const maine = mapObject.queryRenderedFeatures(point, { - layers: ['maine'] - }); - - if (maine.length > 0) { - if (maine[0].properties.description.includes('김포공항 비행불가')) { - elev2.push(maine[0]); - isBreak = true; - break; - } + break; } } } @@ -239,6 +236,7 @@ export const LaancDrawControl = props => { if (elev1.data[0] === 0 || elev2.length > 0) isBreak = true; } catch (error) { alert('에러 발생'); + return; } if (isBreak) { diff --git a/src/modules/laanc/sagas/laancSagas.ts b/src/modules/laanc/sagas/laancSagas.ts index 1f7bb3e..a4cf2f2 100644 --- a/src/modules/laanc/sagas/laancSagas.ts +++ b/src/modules/laanc/sagas/laancSagas.ts @@ -120,8 +120,8 @@ function* postValidElevSaga( ) { try { const deail = action.payload; - const res = yield call(Apis.laancApi.postValidElev, deail); - yield put(Actions.LAANC_ALTITUDE.success(res.data)); + // const res = yield call(Apis.laancApi.postValidElev, deail); + // yield put(Actions.LAANC_ALTITUDE.success(detail)); } catch (error) { yield put( MessageActions.IS_ERROR({