|
|
|
@ -17,7 +17,6 @@ export const DronMarker = props => {
|
|
|
|
|
const { objectId, isClickObject } = useSelector(state => state.controlMapReducer); |
|
|
|
|
|
|
|
|
|
const [arrMarkers, setArrMarkers] = useState([]); |
|
|
|
|
|
|
|
|
|
const [arrInfos, setArrInfos] = useState([]); |
|
|
|
|
|
|
|
|
|
let naver = props.naver; |
|
|
|
@ -51,7 +50,7 @@ export const DronMarker = props => {
|
|
|
|
|
hideProgressBar: true, |
|
|
|
|
position: toast.POSITION.BOTTOM_RIGHT, |
|
|
|
|
onClick: props => {
|
|
|
|
|
handlerDronClick(gps.controlId, gps.objectId);
|
|
|
|
|
handlerDronClick(gps.controlId, gps.objectId); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
)
|
|
|
|
@ -167,31 +166,27 @@ export const DronMarker = props => {
|
|
|
|
|
dispatch(objectUnClickAction()); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
arrInfos.map(info => { |
|
|
|
|
const isExists = controlGpList.find( |
|
|
|
|
item => item.objectId === info._id |
|
|
|
|
); |
|
|
|
|
if (!isExists) { |
|
|
|
|
removeInfos(info); |
|
|
|
|
const arrData = arrInfos.filter( |
|
|
|
|
item => item.id != info._id |
|
|
|
|
); |
|
|
|
|
removeArrInfos(arrData); |
|
|
|
|
|
|
|
|
|
dispatch(objectUnClickAction()); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const allRemoveInfos = () => { |
|
|
|
|
if (arrInfos && controlGpList) { |
|
|
|
|
arrInfos.map(info => { |
|
|
|
|
const isExists = controlGpList.find( |
|
|
|
|
item => item.objectId === info.id |
|
|
|
|
); |
|
|
|
|
if (!isExists) { |
|
|
|
|
removeInfos(info); |
|
|
|
|
const arrData = arrInfos.filter( |
|
|
|
|
item => item.id != info.id |
|
|
|
|
); |
|
|
|
|
removeArrInfos(arrData); |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//마커를 셋팅 한다.
|
|
|
|
|
const markerInit = () => { |
|
|
|
|
if (controlGpList) { |
|
|
|
|
allRemoveMarkers(); |
|
|
|
|
// allRemoveInfos();
|
|
|
|
|
controlGpList.map(item => { |
|
|
|
|
const position = new naver.maps.LatLng(item.lat, item.lng); |
|
|
|
|
|
|
|
|
@ -201,7 +196,7 @@ export const DronMarker = props => {
|
|
|
|
|
); |
|
|
|
|
if (isExists) { |
|
|
|
|
moveMarkers(isExists, position); |
|
|
|
|
// moveInfos(isExists, position);
|
|
|
|
|
moveInfos(isExists, position); |
|
|
|
|
} else { |
|
|
|
|
addMarkers(position, item.objectId, item.controlId); |
|
|
|
|
} |
|
|
|
@ -212,7 +207,7 @@ export const DronMarker = props => {
|
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// //운항정보 창 셋팅
|
|
|
|
|
//운항정보 창 셋팅
|
|
|
|
|
const infoInit = (marker, gps) => { |
|
|
|
|
CustomOverlay = function(options) { |
|
|
|
|
this._element = $(` |
|
|
|
@ -245,7 +240,6 @@ export const DronMarker = props => {
|
|
|
|
|
CustomOverlay.prototype.constructor = CustomOverlay; |
|
|
|
|
|
|
|
|
|
//메소드 재정의
|
|
|
|
|
|
|
|
|
|
//필수
|
|
|
|
|
CustomOverlay.prototype.onAdd = function() { |
|
|
|
|
var overlayLayer = this.getPanes().overlayLayer; |
|
|
|
@ -300,24 +294,7 @@ export const DronMarker = props => {
|
|
|
|
|
setArrInfos(arrData); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// const markerInfo = (marker, position, id) => {
|
|
|
|
|
const markerInfo = (arrMarkers) => { |
|
|
|
|
// controlGpList.forEach(gps =>
|
|
|
|
|
|
|
|
|
|
// // var info = new naver.maps.InfoWindow({
|
|
|
|
|
// // id: marker.id,
|
|
|
|
|
// // content: contents,
|
|
|
|
|
// // backgroundColor: '#283046', //박스안쪽영역 컬러
|
|
|
|
|
// // anchorSize: new props.naver.maps.Size(30, -10),
|
|
|
|
|
// // anchorSkew: false,
|
|
|
|
|
// // anchorColor: '#283046',
|
|
|
|
|
// // pixelOffset: new props.naver.maps.Point(20, -20)
|
|
|
|
|
// // });
|
|
|
|
|
// // info.open(props.map, marker);
|
|
|
|
|
|
|
|
|
|
// // setArrWindows(m => [...m, info]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
arrMarkers.forEach((marker, idx) => { |
|
|
|
|
infoInit(marker, controlGpList[idx]); |
|
|
|
|
if(controlGpList.length != 0) { |
|
|
|
@ -326,7 +303,7 @@ export const DronMarker = props => {
|
|
|
|
|
map: map, |
|
|
|
|
id: marker.id |
|
|
|
|
}); |
|
|
|
|
console.log(info) |
|
|
|
|
// console.log(info)
|
|
|
|
|
setArrInfos(m => [...m, info]); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|