Browse Source

관제 지도 유형에 따른 기능 개발 및 laanc 페이지 연결

pull/2/head
김장현 1 year ago
parent
commit
c1942f9af3
  1. 2
      src/components/map/mapbox/MapBoxMap.js
  2. 49
      src/views/control/main/ControlMain.js
  3. 88
      src/views/control/setting/ControlSetting.js

2
src/components/map/mapbox/MapBoxMap.js

@ -362,7 +362,7 @@ export default function MapBoxMap() {
const labelLayerId = layers.find(
layer => layer.type === 'symbol' && layer.layout['text-field']
).id;
console.log('?@?@?@');
// 지형 3d start
map.addSource('mapbox-dem', {
type: 'raster-dem',

49
src/views/control/main/ControlMain.js

@ -1,9 +1,7 @@
import React, { useEffect, useState } from 'react';
import { useEffect, useState } from 'react';
import { useHistory } from 'react-router-dom';
import '../../../assets/css/custom.css';
import logo from '../../../assets/images/logo/kac_logo_ icon.svg';
import tp_logo from '../../../assets/images/tplogo_wh.png';
import kac_logo from '../../../assets/images/kac_logo_wh.png';
import {
Sun,
@ -183,16 +181,7 @@ const ControlMain = () => {
<DroneMenuIcon width='30' height='30' />
</button>
</li>
{/* <li>
<button>
<Bell width='20' height='20' />
</button>
</li> */}
{/* <li>
<button onClick={() => openMenu('weatherList')}>
<Sun size={25} />
</button>
</li> */}
<li>
<button onClick={() => openMenu('alarmList')}>
{alarm ? (
@ -204,26 +193,11 @@ const ControlMain = () => {
</li>
<li>
<button>
<Grid />
<Grid onClick={() => history.push('/main/dashboard')} />
</button>
</li>
</ul>
<ul className='left-menu-footer'>
{/* <li>
<img src={future_logo} width='50' />
</li>
<li>
<img src={nam_logo} width='50' />
</li>
<li>
<img src={finevt_logo} width='50' />
</li> */}
{/* <li>
<img src={kac_logo} width='50' />
</li>
<li>
<img src={tp_logo} width='50' />
</li> */}
<li>
<AiOutlinePoweroff
size={25}
@ -340,23 +314,6 @@ const ControlMain = () => {
</div>
</Card>
</div> */}
<div className='main-data-box flight-data'>
<Card>
<div className='data-box-header'>
<span className='box-ti'>LAANC 시스템</span>
</div>
<div className='data-list-box'>
<div className='data-list' style={{ cursor: 'pointer' }}>
<span onClick={() => history.push('laanc')}>
승인요청 바로가기
</span>
</div>
{/* <div className='data-list' style={{ cursor: 'pointer' }}>
<span onClick={() => handlerDrawType('RESET')}>초기화</span>
</div> */}
</div>
</Card>
</div>
</div>
{oepnReportList ? (
<ControlReportList

88
src/views/control/setting/ControlSetting.js

@ -1,40 +1,35 @@
import React, { useEffect, useState } from 'react';
import { Search } from 'react-feather';
import { BiBuildings, BiGridAlt } from 'react-icons/bi';
import { CgTrees } from 'react-icons/cg';
import { VscRadioTower } from 'react-icons/vsc';
import { useDispatch, useSelector } from 'react-redux';
import {
Button,
InputGroup,
ButtonGroup,
InputGroupAddon,
Input,
CustomInput,
Row,
Col
} from 'reactstrap';
import { useHistory } from 'react-router-dom';
import { Button, ButtonGroup, CustomInput } from 'reactstrap';
import {
areaClickAction,
environmentClickAction,
mapTypeChangeAction,
sensorClickAction
} from '../../../modules/control/map/actions/controlMapActions';
const ControlSetting = props => {
const dispatch = useDispatch();
const history = useHistory();
const mapControl = useSelector(state => state.controlMapReducer);
const handlerMapType = val => {
if (val === mapControl.mapType) return;
if (val === 'NORMAL') {
mapControl.map.setStyle('mapbox://styles/mapbox/streets-v12');
mapControl.map.removeSource('mapbox-dem');
} else if (val === 'TERRAIN') {
// props.map.setMapTypeId(naver.maps.MapTypeId.TERRAIN);
if (val === 'TERRAIN') {
mapControl.map.setTerrain({
source: 'mapbox-dem',
exaggeration: 1
});
mapControl.map.setMaxPitch(85);
mapControl.map.dragRotate.enable();
} else if (val === 'NORMAL') {
mapControl.map.setTerrain();
mapControl.map.setMaxPitch(85);
mapControl.map.dragRotate.enable();
} else if (val === '2D') {
mapControl.map.setStyle('mapbox://styles/mapbox/satellite-streets-v11');
console.log(mapControl.map);
mapControl.map.setMaxPitch(0);
mapControl.map.setBearing(0);
mapControl.map.dragRotate.disable();
}
dispatch(mapTypeChangeAction(val));
};
@ -193,18 +188,53 @@ const ControlSetting = props => {
<div className='layer-ti'>
<h4>LAANC 신청하기</h4>
</div>
<a className='btn btn-primary laanc-btn'>승인요청 바로가기</a>
<button
className='btn btn-primary laanc-btn'
onClick={() => history.push('/basis/laanc/index')}
>
승인요청 바로가기
</button>
</div>
<div className='layer-content'>
<div className='layer-ti'>
<h4>드론 원스톱 시스템</h4>
</div>
<div className='onstop-link'>
<a className='btn btn-outline-primary' href='https://drone.onestop.go.kr/' target='_blank'>비행장치 신고서 등록</a>
<a className='btn btn-outline-primary' href='https://drone.onestop.go.kr/' target='_blank'>사업등록 신고서 등록</a>
<a className='btn btn-outline-primary' href='https://drone.onestop.go.kr/' target='_blank'>비행승인 신청서 등록</a>
<a className='btn btn-outline-primary' href='https://drone.onestop.go.kr/' target='_blank'>특별비행 승인</a>
<a className='btn btn-outline-primary' href='https://drone.onestop.go.kr/' target='_blank'>항공 촬영 신청서 등록</a>
<a
className='btn btn-outline-primary'
href='https://drone.onestop.go.kr/'
target='_blank'
>
비행장치 신고서 등록
</a>
<a
className='btn btn-outline-primary'
href='https://drone.onestop.go.kr/'
target='_blank'
>
사업등록 신고서 등록
</a>
<a
className='btn btn-outline-primary'
href='https://drone.onestop.go.kr/'
target='_blank'
>
비행승인 신청서 등록
</a>
<a
className='btn btn-outline-primary'
href='https://drone.onestop.go.kr/'
target='_blank'
>
특별비행 승인
</a>
<a
className='btn btn-outline-primary'
href='https://drone.onestop.go.kr/'
target='_blank'
>
항공 촬영 신청서 등록
</a>
</div>
</div>
{/* <div className='layer-content'>

Loading…
Cancel
Save