|
|
|
@ -4,10 +4,9 @@ import { useDispatch, useSelector } from 'react-redux';
|
|
|
|
|
import * as Actions from '../../../../modules/basis/flight/actions/basisFlightAction'; |
|
|
|
|
import { InfoModal } from '../../../modal/InfoModal'; |
|
|
|
|
|
|
|
|
|
export const FlightPlanDraw = props => { |
|
|
|
|
export const FlightPlanDraw_init = props => { |
|
|
|
|
const dispatch = useDispatch(); |
|
|
|
|
const mapControl = useSelector(state => state.controlMapReducer); |
|
|
|
|
// const isYour = props.isYour;
|
|
|
|
|
const isDone = props.isDone; |
|
|
|
|
const isDisabled = props.isDisabled; |
|
|
|
|
|
|
|
|
@ -15,7 +14,9 @@ export const FlightPlanDraw = props => {
|
|
|
|
|
const [pastBuffer, setBuffer] = useState(); |
|
|
|
|
const [pastPolygon, setPolygon] = useState(); |
|
|
|
|
const [pastCircle, setCircle] = useState([]); |
|
|
|
|
const [pastDragCircle, setDragCircle] = useState([]); |
|
|
|
|
// const [pastDragCircle, setDragCircle] = useState([]);
|
|
|
|
|
const pastDragCircle = props.pastDragCircle; |
|
|
|
|
const setDragCircle = props.setDragCircle; |
|
|
|
|
|
|
|
|
|
const [pastClickEve, setClickEve] = useState(); |
|
|
|
|
const [pastMarker, setMarker] = useState([]); |
|
|
|
@ -33,7 +34,6 @@ export const FlightPlanDraw = props => {
|
|
|
|
|
const naver = props.naver; |
|
|
|
|
const map = props.map; |
|
|
|
|
let mode = props.mode; |
|
|
|
|
let dragCircleSize = props.dragCircleSize; |
|
|
|
|
|
|
|
|
|
let areaInfo; |
|
|
|
|
let lastDistance; |
|
|
|
@ -62,6 +62,12 @@ export const FlightPlanDraw = props => {
|
|
|
|
|
dispatch(Actions.FLIGHT_PLAN_AREA_BUFFER_LIST.request(areaDetail)); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const [radiusCircle, setRadiusCircle] = useState(); |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
setRadiusCircle(props.dragSize); |
|
|
|
|
}, [props.dragSize]); |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
drawInit(); |
|
|
|
|
}, [mapControl.drawType]); |
|
|
|
@ -119,12 +125,6 @@ export const FlightPlanDraw = props => {
|
|
|
|
|
setDragCircle([]); |
|
|
|
|
setBuffer(); |
|
|
|
|
} |
|
|
|
|
if (pastCircle.length != 0) { |
|
|
|
|
pastCircle.forEach(prev => prev.setMap(null)); |
|
|
|
|
naver.maps.Event.removeListener(pastClickEve); |
|
|
|
|
|
|
|
|
|
setCircle([]); |
|
|
|
|
} |
|
|
|
|
if (pastPolygon) { |
|
|
|
|
pastPolygon.setMap(null); |
|
|
|
|
pastDragCircle.forEach(c => c.setMap(null)); |
|
|
|
@ -132,6 +132,12 @@ export const FlightPlanDraw = props => {
|
|
|
|
|
setPolygon(); |
|
|
|
|
setDragCircle([]); |
|
|
|
|
} |
|
|
|
|
if (pastCircle.length != 0) { |
|
|
|
|
pastCircle.forEach(prev => prev.setMap(null)); |
|
|
|
|
naver.maps.Event.removeListener(pastClickEve); |
|
|
|
|
|
|
|
|
|
setCircle([]); |
|
|
|
|
} |
|
|
|
|
if (pastMarker.length != 0) { |
|
|
|
|
pastMarker.forEach(m => m.setMap(null)); |
|
|
|
|
setMarker([]); |
|
|
|
@ -198,11 +204,9 @@ export const FlightPlanDraw = props => {
|
|
|
|
|
title: '좌표 최소 개수', |
|
|
|
|
desc: '좌표를 두 개 점으로 이어주세요.' |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
polyline.setMap(null); |
|
|
|
|
polyline = ''; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
setFigure(polyline); |
|
|
|
|
} else if (polygon) { |
|
|
|
|
let path = polygon.getPath(); |
|
|
|
@ -549,7 +553,7 @@ export const FlightPlanDraw = props => {
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
areaInfo.coordinates.push(point); |
|
|
|
|
areaInfo.bufferZone = circle.getRadius(); |
|
|
|
|
areaInfo.bufferZone = Math.round(circle.getRadius()); |
|
|
|
|
areaInfo.areaType = 'CIRCLE'; |
|
|
|
|
} |
|
|
|
|
props.handleCoordinates(areaInfo); |
|
|
|
@ -592,8 +596,6 @@ export const FlightPlanDraw = props => {
|
|
|
|
|
|
|
|
|
|
let clickSet; |
|
|
|
|
{ |
|
|
|
|
// isDisabled === true ? (clickSet = false) : (clickSet = true);
|
|
|
|
|
// (isYour || isDone) === true ? (clickSet = false) : (clickSet = true);
|
|
|
|
|
(isDisabled || isDone) === true |
|
|
|
|
? (clickSet = false) |
|
|
|
|
: (clickSet = true); |
|
|
|
@ -626,17 +628,14 @@ export const FlightPlanDraw = props => {
|
|
|
|
|
fillColor: '#ffffff', |
|
|
|
|
fillOpacity: 1, |
|
|
|
|
center: paths[i], |
|
|
|
|
radius: 17, |
|
|
|
|
// radius: dragCircleSize,
|
|
|
|
|
map: map, |
|
|
|
|
clickable: clickSet, |
|
|
|
|
...(props.dragSize ? { radius: radiusCircle } : { radius: 140 }) |
|
|
|
|
// radius: 17,
|
|
|
|
|
// clickable: true
|
|
|
|
|
clickable: clickSet |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
// dragCircleEve.push(naver.maps.Event.addListener(dragCircle[i], 'mousedown', function () { onMouseDownDrag(i) }))
|
|
|
|
|
{ |
|
|
|
|
// isDisabled
|
|
|
|
|
// isYour || isDone
|
|
|
|
|
isDisabled || isDone |
|
|
|
|
? {} |
|
|
|
|
: dragCircleEve.push( |
|
|
|
@ -740,17 +739,14 @@ export const FlightPlanDraw = props => {
|
|
|
|
|
fillColor: '#ffffff', |
|
|
|
|
fillOpacity: 1, |
|
|
|
|
center: paths[i], |
|
|
|
|
radius: 15, |
|
|
|
|
// radius: dragCircleSize,
|
|
|
|
|
map: map, |
|
|
|
|
clickable: clickSet, |
|
|
|
|
...(props.dragSize ? { radius: radiusCircle } : { radius: 140 }) |
|
|
|
|
// radius: 17,
|
|
|
|
|
// clickable: true
|
|
|
|
|
clickable: clickSet |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
// dragCircleEve.push(naver.maps.Event.addListener(dragCircle[i], 'mousedown', function () { onMouseDownDrag(i) }))
|
|
|
|
|
{ |
|
|
|
|
// isDisabled
|
|
|
|
|
// isYour || isDone
|
|
|
|
|
isDisabled || isDone |
|
|
|
|
? {} |
|
|
|
|
: dragCircleEve.push( |
|
|
|
@ -837,19 +833,15 @@ export const FlightPlanDraw = props => {
|
|
|
|
|
circle = new naver.maps.Circle({ |
|
|
|
|
strokeColor: '#283046', |
|
|
|
|
strokeOpacity: 1, |
|
|
|
|
// fillColor: '#ff0000',
|
|
|
|
|
fillColor: '#7367F0', |
|
|
|
|
fillOpacity: 0.1, |
|
|
|
|
center: paths[0], |
|
|
|
|
radius: areas.bufferZone, |
|
|
|
|
map: map, |
|
|
|
|
// clickable: true
|
|
|
|
|
clickable: clickSet |
|
|
|
|
// clickable: true
|
|
|
|
|
}); |
|
|
|
|
// Eve.mousedownEve = naver.maps.Event.addListener(circle, 'mousedown', function () { onMouseDownDrag(0); })
|
|
|
|
|
{ |
|
|
|
|
// isDisabled
|
|
|
|
|
// isYour || isDone
|
|
|
|
|
isDisabled || isDone |
|
|
|
|
? {} |
|
|
|
|
: (Eve.mousedownEve = naver.maps.Event.addListener( |
|
|
|
|