|
@@ -1,7 +1,7 @@
|
|
|
import Resource from "./language";
|
|
|
|
|
|
//DrawHandler封装
|
|
|
-const initHandler = function(DrawMode, clampMode) { //初始化,传入需要的类型
|
|
|
+const initHandler = function (DrawMode, clampMode) { //初始化,传入需要的类型
|
|
|
let clampmode = 0;
|
|
|
if (clampMode) {
|
|
|
clampmode = clampMode
|
|
@@ -49,7 +49,7 @@ const initHandler = function(DrawMode, clampMode) { //初始化,传入需要
|
|
|
viewer.scene.primitives.add(window.polylineCollection);
|
|
|
}
|
|
|
}
|
|
|
-const handlerDrawing = function(PolyType, tooltipNum) { //(传入操作的DrawHandler类型的字符串,如"Polygon")
|
|
|
+const handlerDrawing = function (PolyType, tooltipNum) { //(传入操作的DrawHandler类型的字符串,如"Polygon")
|
|
|
let DrawHandler = judgeDrawHandlerType(PolyType); //获取操作对象
|
|
|
return new Promise((resolve, reject) => { //做一些异步操作
|
|
|
let tooltip = window.tooltip;
|
|
@@ -128,6 +128,7 @@ const clearHandlerDrawing = (PolyType) => {
|
|
|
} else {
|
|
|
DrawHandler = judgeDrawHandlerType(PolyType);
|
|
|
}
|
|
|
+ if (!DrawHandler) return
|
|
|
DrawHandler.deactivate();
|
|
|
DrawHandler.clear()
|
|
|
viewer.enableCursorStyle = true;
|
|
@@ -197,23 +198,23 @@ const Edit = (_this, callback, PolyType) => {
|
|
|
}, Cesium.ScreenSpaceEventType.LEFT_CLICK)
|
|
|
}
|
|
|
const clearEditHandler = () => {
|
|
|
- if (window.editHandler) {
|
|
|
- window.editHandler.deactivate();
|
|
|
- window.editHandler.clear()
|
|
|
- };
|
|
|
- if (window.selectHandler) {
|
|
|
- //移除鼠标移动事件监听
|
|
|
- window.selectHandler.removeInputAction(
|
|
|
- Cesium.ScreenSpaceEventType.LEFT_UP
|
|
|
- );
|
|
|
- window.selectHandler.removeInputAction(
|
|
|
- Cesium.ScreenSpaceEventType.LEFT_CLICK
|
|
|
- );
|
|
|
- window.selectHandler.destroy()
|
|
|
- window.selectHandler = null
|
|
|
- }
|
|
|
+ if (window.editHandler) {
|
|
|
+ window.editHandler.deactivate();
|
|
|
+ window.editHandler.clear()
|
|
|
+ };
|
|
|
+ if (window.selectHandler) {
|
|
|
+ //移除鼠标移动事件监听
|
|
|
+ window.selectHandler.removeInputAction(
|
|
|
+ Cesium.ScreenSpaceEventType.LEFT_UP
|
|
|
+ );
|
|
|
+ window.selectHandler.removeInputAction(
|
|
|
+ Cesium.ScreenSpaceEventType.LEFT_CLICK
|
|
|
+ );
|
|
|
+ window.selectHandler.destroy()
|
|
|
+ window.selectHandler = null
|
|
|
}
|
|
|
- //判断两数组或对象相等
|
|
|
+}
|
|
|
+//判断两数组或对象相等
|
|
|
const isSame = (arg1, arg2) => {
|
|
|
let bol = true;
|
|
|
if (Object.keys(arg1).length != Object.keys(arg2).length) {
|
|
@@ -235,22 +236,22 @@ const isSame = (arg1, arg2) => {
|
|
|
|
|
|
//转化
|
|
|
const cartographic = (objPosition) => {
|
|
|
- let array = [].concat(objPosition);
|
|
|
- let positions = [];
|
|
|
- for (let i = 0, len = array.length; i < len; i++) {
|
|
|
- let cartographic = Cesium.Cartographic.fromCartesian(array[i]);
|
|
|
- let longitude = Cesium.Math.toDegrees(cartographic.longitude);
|
|
|
- let latitude = Cesium.Math.toDegrees(cartographic.latitude);
|
|
|
- let h = cartographic.height;
|
|
|
- if (positions.indexOf(longitude) == -1 && positions.indexOf(latitude) == -1) {
|
|
|
- positions.push(longitude);
|
|
|
- positions.push(latitude);
|
|
|
- positions.push(h);
|
|
|
- }
|
|
|
+ let array = [].concat(objPosition);
|
|
|
+ let positions = [];
|
|
|
+ for (let i = 0, len = array.length; i < len; i++) {
|
|
|
+ let cartographic = Cesium.Cartographic.fromCartesian(array[i]);
|
|
|
+ let longitude = Cesium.Math.toDegrees(cartographic.longitude);
|
|
|
+ let latitude = Cesium.Math.toDegrees(cartographic.latitude);
|
|
|
+ let h = cartographic.height;
|
|
|
+ if (positions.indexOf(longitude) == -1 && positions.indexOf(latitude) == -1) {
|
|
|
+ positions.push(longitude);
|
|
|
+ positions.push(latitude);
|
|
|
+ positions.push(h);
|
|
|
}
|
|
|
- return positions
|
|
|
}
|
|
|
- // 类型判断
|
|
|
+ return positions
|
|
|
+}
|
|
|
+// 类型判断
|
|
|
const judgeDrawHandlerType = (PolyType) => {
|
|
|
let DrawHandler;
|
|
|
switch (PolyType) {
|
|
@@ -278,22 +279,22 @@ const judgeDrawHandlerType = (PolyType) => {
|
|
|
//axios本版本不支持jsonp 自己拓展一个
|
|
|
const axiosJsonp = (url) => {
|
|
|
if (!url) {
|
|
|
- console.error('Axios.JSONP 至少需要一个url参数!')
|
|
|
- return;
|
|
|
+ console.error('Axios.JSONP 至少需要一个url参数!')
|
|
|
+ return;
|
|
|
}
|
|
|
return new Promise((resolve, reject) => {
|
|
|
- window.jsonCallBack = (result) => {
|
|
|
- resolve(result)
|
|
|
- }
|
|
|
- var JSONP = document.createElement("script");
|
|
|
- JSONP.type = "text/javascript";
|
|
|
- JSONP.src = `${url}&callback=jsonCallBack`;
|
|
|
- document.getElementsByTagName("head")[0].appendChild(JSONP);
|
|
|
- setTimeout(() => {
|
|
|
- document.getElementsByTagName("head")[0].removeChild(JSONP)
|
|
|
- }, 500)
|
|
|
+ window.jsonCallBack = (result) => {
|
|
|
+ resolve(result)
|
|
|
+ }
|
|
|
+ var JSONP = document.createElement("script");
|
|
|
+ JSONP.type = "text/javascript";
|
|
|
+ JSONP.src = `${url}&callback=jsonCallBack`;
|
|
|
+ document.getElementsByTagName("head")[0].appendChild(JSONP);
|
|
|
+ setTimeout(() => {
|
|
|
+ document.getElementsByTagName("head")[0].removeChild(JSONP)
|
|
|
+ }, 500)
|
|
|
})
|
|
|
- }
|
|
|
+}
|
|
|
export default {
|
|
|
initHandler,
|
|
|
handlerDrawing,
|