(function webpackUniversalModuleDefinition(root, factory) {
	if(typeof exports === 'object' && typeof module === 'object')
		module.exports = factory(require("vue"), require("@kq_npm/client_common_vue/_utils/gis-utils"), require("@kq_npm/client_common_vue/_utils/util"), require("@kq_npm/client_common_vue/init.js"));
	else if(typeof define === 'function' && define.amd)
		define(["vue", "@kq_npm/client_common_vue/_utils/gis-utils", "@kq_npm/client_common_vue/_utils/util", "@kq_npm/client_common_vue/init.js"], factory);
	else {
		var a = typeof exports === 'object' ? factory(require("vue"), require("@kq_npm/client_common_vue/_utils/gis-utils"), require("@kq_npm/client_common_vue/_utils/util"), require("@kq_npm/client_common_vue/init.js")) : factory(root["Vue"], root["@kq_npm/client_common_vue/_utils/gis-utils"], root["@kq_npm/client_common_vue/_utils/util"], root["@kq_npm/client_common_vue/init.js"]);
		for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
	}
})(this, function(__WEBPACK_EXTERNAL_MODULE__1895__, __WEBPACK_EXTERNAL_MODULE__7135__, __WEBPACK_EXTERNAL_MODULE__3458__, __WEBPACK_EXTERNAL_MODULE__7997__) {
return /******/ (function() { // webpackBootstrap
/******/ 	"use strict";
/******/ 	var __webpack_modules__ = ({

/***/ 1349:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony import */ var element_plus_dist_index_full_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9389);
/* harmony import */ var element_plus_dist_index_full_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(element_plus_dist_index_full_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7997);
/* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_init__WEBPACK_IMPORTED_MODULE_1__);
/*
 * Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
 * All rights reserved.
 */


element_plus_dist_index_full_js__WEBPACK_IMPORTED_MODULE_0__.ElMessage.install = (Vue, opts) => {
  _init__WEBPACK_IMPORTED_MODULE_1___default()(Vue, opts);
  Vue.component("KqMessage", element_plus_dist_index_full_js__WEBPACK_IMPORTED_MODULE_0__.ElMessage);
};
/* harmony default export */ __webpack_exports__["Z"] = (element_plus_dist_index_full_js__WEBPACK_IMPORTED_MODULE_0__.ElMessage);

/***/ }),

/***/ 193:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": function() { return /* binding */ MeasureViewModel; }
/* harmony export */ });
/* harmony import */ var _Users_zpc_Documents_KQGEOSpace_KQGISClientForVue_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5301);
/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8470);
/* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1058);
/* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_1__);



/*
 * Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
 * All rights reserved.
 */
//测量操作类
class MeasureViewModel {
  constructor(viewer) {
    (0,_Users_zpc_Documents_KQGEOSpace_KQGISClientForVue_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)(this, "_viewer", null);
    (0,_Users_zpc_Documents_KQGEOSpace_KQGISClientForVue_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)(this, "_measureHandler", null);
    //测量三维对象
    (0,_Users_zpc_Documents_KQGEOSpace_KQGISClientForVue_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)(this, "measureEvent", null);
    //测量事件
    (0,_Users_zpc_Documents_KQGEOSpace_KQGISClientForVue_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)(this, "activeEvent", null);
    //活动事件
    (0,_Users_zpc_Documents_KQGEOSpace_KQGISClientForVue_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)(this, "nauticalMileUnit", "nmi");
    this._measureHandler = new Cesium.Kq3dMeasureHandler(viewer);
    this._viewer = viewer;
    this.measureEvent = this._measureHandler.measureEvent;
    this.activeEvent = this._measureHandler.activeEvent;
  }

  //距离测量
  distanceMeasure(mode) {
    this._viewer.scene.globe.depthTestAgainstTerrain = true;
    if (mode === "ground") {
      this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.TerrainDistance);
    } else if (mode === "model") {
      this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.ModelDistance);
    } else {
      this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.Distance);
    }
  }

  //高度测量(三角测量)
  heightMeasure() {
    this._viewer.scene.globe.depthTestAgainstTerrain = true;
    this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.ComplexDistance);
  }

  //面积测量
  areaMeasure(mode) {
    this._viewer.scene.globe.depthTestAgainstTerrain = true;
    if (mode === "ground") {
      this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.TerrainArea);
    } else if (mode === "model") {
      this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.ModelArea);
    } else {
      this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.Area);
    }
  }

  //方位角测量
  azimuthMeasure() {
    this._viewer.scene.globe.depthTestAgainstTerrain = true;
    this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.Azimuth);
  }

  //坐标测量
  coordinateMeasure() {
    this._viewer.scene.globe.depthTestAgainstTerrain = true;
    this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.Coordinate);
  }

  //地形坡度测量
  terrainSlopeMeasure() {
    this._viewer.scene.globe.depthTestAgainstTerrain = true;
    this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.TerrainSlope);
  }

  //场景坡度测量
  sceneSlopeMeasure() {
    this._viewer.scene.globe.depthTestAgainstTerrain = true;
    this._measureHandler.startMeasure(Cesium.Kq3dMeasureMode.SceneSlope);
  }

  //结束测量
  stopMeasure() {
    this._measureHandler.stopMeasure();
  }

  //更新距离测量单位
  updateDistanceUnit(distanceTotal, unit) {
    if (this._measureHandler.measureResults) {
      this._measureHandler.measureResults.forEach(measureResult => {
        if (measureResult.polyline) {
          let labels = measureResult.labels._labels;
          let positions = measureResult.polyline.positions;
          let dist = 0;
          // 更新每段长度值
          for (let i = 0; i < labels.length - 1; i++) {
            if (labels[i].show && labels[i].text) {
              dist = Cesium.Cartesian3.distance(positions[i], positions[i + 1]);
              labels[i].text = this.convertValueUnit(dist, unit);
            }
          }
        }
        // 更新总长度值
        measureResult.label.text = this.convertValueUnit(distanceTotal, unit);
      }, this);
    }
  }

  //测量距离数值单位换算
  convertValueUnit(value, unit) {
    let newValue = "";
    switch (unit) {
      case "m":
        newValue = value.toFixed(2) + " m";
        break;
      case "km":
        newValue = (value / 1000).toFixed(2) + " km";
        break;
      case this.nauticalMileUnit:
        newValue = (value / 1852).toFixed(2) + " " + this.nauticalMileUnit;
        break;
      case "m²":
        newValue = value.toFixed(2) + " m²";
        break;
      case "km²":
        newValue = (value / 1000000).toFixed(2) + " km²";
        break;
      case "mu":
        newValue = (value * 2 / 3).toFixed(2) + " mu";
        break;
      case "ha":
        newValue = (value / 10000).toFixed(2) + " ha";
        break;
      default:
        break;
    }
    return newValue;
  }

  // 判断是否加载地形
  checkTerrainAdded() {
    return this._viewer.terrainProvider.availability;
  }

  // 判断是否加载模型
  checkModelAdded() {
    let isAdd = false;
    let models = this._viewer.scene.primitives._primitives;
    for (let i = 0; i < models.length; i++) {
      if (models[i] instanceof Cesium.Cesium3DTileset) {
        isAdd = true;
        break;
      }
    }
    return isAdd;
  }

  //清除全部测量结果
  clear() {
    this._measureHandler && this._measureHandler.clear();
  }

  //销毁
  destroy() {
    this.clear();
    this._measureHandler = null;
  }
}

/***/ }),

/***/ 7226:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "Z": function() { return /* binding */ Measure; }
});

// EXTERNAL MODULE: external "core-js/modules/esnext.iterator.constructor.js"
var esnext_iterator_constructor_js_ = __webpack_require__(8470);
// EXTERNAL MODULE: external "core-js/modules/esnext.iterator.for-each.js"
var esnext_iterator_for_each_js_ = __webpack_require__(1058);
// EXTERNAL MODULE: external {"root":"Vue","commonjs":"vue","commonjs2":"vue","amd":"vue"}
var external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_ = __webpack_require__(1895);
// EXTERNAL MODULE: external "@element-plus/icons-vue"
var icons_vue_ = __webpack_require__(8422);
// EXTERNAL MODULE: external "@kq_npm/client_icons_vue"
var client_icons_vue_ = __webpack_require__(348);
// EXTERNAL MODULE: external "@kq_npm/client_common_vue/_utils/gis-utils"
var gis_utils_ = __webpack_require__(7135);
// EXTERNAL MODULE: ./src/webgl/measure/MeasureViewModel.js
var MeasureViewModel = __webpack_require__(193);
// EXTERNAL MODULE: external "@kq_npm/client_common_vue/_utils/util"
var util_ = __webpack_require__(3458);
// EXTERNAL MODULE: ./src/common/_ui/message/index.js
var message = __webpack_require__(1349);
// EXTERNAL MODULE: external "vue-i18n/dist/vue-i18n.cjs.js"
var vue_i18n_cjs_js_ = __webpack_require__(7080);
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[0]!./src/webgl/measure/Measure.vue?vue&type=script&setup=true&lang=js



const _hoisted_1 = {
  class: "kq-measure3d-box"
};
const _hoisted_2 = {
  class: "kq-measure3d-mode"
};
const _hoisted_3 = {
  class: "panel"
};
const _hoisted_4 = {
  class: "title",
  style: {
    "line-height": "14px"
  }
};
const _hoisted_5 = {
  class: "kq-measure3d-btns"
};
const _hoisted_6 = {
  key: 0,
  class: "kq-measure3d-tip"
};
const _hoisted_7 = {
  key: 0
};
const _hoisted_8 = {
  key: 1
};
const _hoisted_9 = {
  key: 1,
  class: "kq-measure3d-result"
};
const _hoisted_10 = {
  class: "kq-measure3d-result-panel"
};
const _hoisted_11 = {
  key: 0,
  class: "panel"
};
const _hoisted_12 = {
  class: "title"
};
const _hoisted_13 = {
  class: "panel"
};
const _hoisted_14 = {
  class: "title"
};
const _hoisted_15 = {
  key: 0,
  class: "result"
};
const _hoisted_16 = {
  class: "tit"
};
const _hoisted_17 = {
  class: "res"
};
const _hoisted_18 = {
  class: "tit"
};
const _hoisted_19 = {
  class: "res"
};
const _hoisted_20 = {
  class: "tit"
};
const _hoisted_21 = {
  class: "res"
};
const _hoisted_22 = {
  class: "tit"
};
const _hoisted_23 = {
  class: "res"
};
const _hoisted_24 = {
  key: 1,
  class: "result"
};
const _hoisted_25 = {
  class: "tit"
};
const _hoisted_26 = {
  class: "res"
};
const _hoisted_27 = {
  class: "tit"
};
const _hoisted_28 = {
  class: "res"
};
const _hoisted_29 = {
  class: "tit"
};
const _hoisted_30 = {
  class: "res"
};
const _hoisted_31 = {
  key: 2,
  class: "result"
};
const _hoisted_32 = {
  class: "tit"
};
const _hoisted_33 = {
  class: "res"
};
const _hoisted_34 = {
  class: "tit"
};
const _hoisted_35 = {
  class: "res"
};
const _hoisted_36 = {
  key: 3,
  class: "result"
};
const _hoisted_37 = {
  class: "tit"
};
const _hoisted_38 = {
  class: "res"
};








const __default__ = {
  name: "Kq3dMeasure"
};
/* harmony default export */ var Measurevue_type_script_setup_true_lang_js = (/*#__PURE__*/Object.assign(__default__, {
  props: {
    //指定组件绑定的viewer对象的div的id
    target: String,
    // 设置参数
    settingParams: {
      type: Object
    },
    // 是否显示阴影效果
    showShadow: {
      type: Boolean,
      default: true
    },
    /**
     * 例："center","topLeft","topRight","bottomLeft","bottomRight", "topCenter", "bottomCenter" {top:'16px',left:'16px'}, {top:16,left:16}
     */
    position: [String, Object],
    // 是否生成HeaderTemp
    showHeaderTemp: {
      type: Boolean,
      default: false
    },
    // 是否折叠HeaderTemp，showHeaderTemp为true时生效
    isCollapseHeaderTemp: {
      type: Boolean,
      default: false
    },
    // HeaderTemp标题
    headerTempTitle: {
      type: String
    },
    // HeaderTemp图标
    headerTempIcon: {
      type: [Object, String],
      default: client_icons_vue_.IconMeasure2D
    },
    // HeaderTemp Title&Icon的位置
    isRight: {
      type: Boolean,
      default: true
    }
  },
  setup(__props, {
    expose: __expose
  }) {
    const props = __props;
    let measureType = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(null); // 测量类型
    let isActive = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(null);
    let isResult = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(false);
    let isTips = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(false);
    let distanceValue = null;
    // 默认显示距离的单位
    let distanceUnit = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(props.settingParams && props.settingParams.distanceUnit || "");
    // 海里单位选择
    let nauticalMileUnit = props.settingParams && props.settingParams.nauticalMileUnit || "nmi";
    // 面积单位
    let areaUnit = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(props.settingParams && props.settingParams.areaUnit || "");
    let result = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(0);
    const {
      proxy
    } = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.getCurrentInstance)();
    let language = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(Object.assign({}, proxy.$i18n.global.messages[proxy.$i18n.global.locale]["webgl"], proxy.$i18n.global.messages[proxy.$i18n.global.locale]["leaflet"]));
    let mode = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)("space");
    let modeList = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(loadModeData());
    let viewModel = null;
    // 国际化
    let {
      locale,
      messages
    } = (0,vue_i18n_cjs_js_.useI18n)();
    let measureTitle = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(null);
    (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.watch)(() => locale.value, (newVal, oldVal) => {
      language.value = Object.assign({}, messages.value[newVal]["webgl"], messages.value[newVal]["leaflet"]);
      measureTitle.value = language.value.measure;
      modeList.value = loadModeData();
      distanceUnits.value = setDistanceUnits();
      areaUnits.value = setAreaUnits();
    });

    // 距离测量单位
    let distanceUnits = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)([]);
    let setDistanceUnits = () => {
      return [{
        label: language.value.kilometre,
        value: "km"
      }, {
        label: language.value.metre,
        value: "m"
      }, {
        label: language.value.nauticalMile,
        value: nauticalMileUnit
      }];
    };
    distanceUnits.value = setDistanceUnits();
    // 面积测量单位
    let areaUnits = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)([]);
    let setAreaUnits = () => {
      return [{
        label: language.value.squareKilometers,
        value: "km²"
      }, {
        label: language.value.squareMeter,
        value: "m²"
      }, {
        label: language.value.mu,
        value: "mu"
      }, {
        label: language.value.hectare,
        value: "ha"
      }];
    };
    areaUnits.value = setAreaUnits();

    // 组件容器Ref
    let boxRef = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)(null);

    // 生成组件默认header
    let headerTemp = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)();
    let headerTempRef = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.ref)();
    (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.onMounted)(() => {
      (0,util_.updatePosition)(boxRef.value, props);
      (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.watch)(() => props.position, (newVal, oldVal) => {
        (0,util_.updatePosition)(boxRef.value, props);
      });
      watchCreateHeaderTemp();
      (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.watch)(() => props.showHeaderTemp, (newVal, oldVal) => {
        (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.nextTick)(() => {
          watchCreateHeaderTemp();
        });
      });
      gis_utils_.utils.getWebMap(props.target, scenceView => {
        if (scenceView) {
          viewModel = new MeasureViewModel/* default */.Z(scenceView._viewer);
          viewModel.nauticalMileUnit = nauticalMileUnit;
          //注册测量事件，以获取测量结果
          viewModel.measureEvent.addEventListener(function (res) {
            if (measureType.value === "distance") {
              if (res.distance) {
                distanceValue = res.distance;
                if (props.settingParams && props.settingParams.distanceUnit) {
                  distanceUnit.value = props.settingParams && props.settingParams.distanceUnit || "";
                  onChangeUnit(distanceUnit.value);
                } else {
                  result.value = formatDistance(res.distance);
                }
              }
            } else if (measureType.value === "height" && res) {
              result.value = {
                spaceDistance: res.distance ? res.distance.toFixed(2) : 0,
                horizontalDistance: res.hDistance ? res.hDistance.toFixed(2) : 0,
                verticalDistance: res.vDistance ? res.vDistance.toFixed(2) : 0,
                angle: res.angle ? res.angle.toFixed(2).replace(/\.?0+$/, '') : 0
              };
            } else if (measureType.value === "area") {
              if (res && res.area || res && res.area == 0) {
                distanceValue = res.area;
                if (props.settingParams && props.settingParams.areaUnit) {
                  areaUnit.value = props.settingParams && props.settingParams.areaUnit || "";
                  onChangeUnit(areaUnit.value);
                } else {
                  result.value = formatArea(res.area);
                }
              }
            } else if (measureType.value === "azimuth" && res) {
              if (res.positions && res.positions.length > 0) {
                result.value = {
                  azimuth: res.azimuth.toFixed(4),
                  distance: res.distance.toFixed(2)
                };
              } else result.value = 0;
            } else if (measureType.value === "slope" && res) {
              if (res.positions && res.positions.length > 0) {
                result.value = res.slopeAngle.toFixed(2).replace(/\.?0+$/, '') + " °";
              } else result.value = 0;
            } else if (measureType.value === "coordinate") {
              if (res && res.coordinate) {
                let convertValue = null;
                if (props.settingParams && props.settingParams.isConvert) {
                  result.value = {
                    longitude: res.coordinate.longitude ? convertXY(res.coordinate.longitude) : 0,
                    latitude: res.coordinate.latitude ? convertXY(res.coordinate.latitude) : 0,
                    height: res.coordinate.height ? res.coordinate.height.toFixed(2) : 0
                  };
                  convertValue = [result.value.longitude, result.value.latitude];
                } else {
                  result.value = {
                    longitude: res.coordinate.longitude ? res.coordinate.longitude.toFixed(5) + "°" : 0,
                    latitude: res.coordinate.latitude ? res.coordinate.latitude.toFixed(5) + "°" : 0,
                    height: res.coordinate.height ? res.coordinate.height.toFixed(2) : 0
                  };
                }
                if (res.measureResult && res.measureResult.labels && res.measureResult.labels.length > 0) {
                  res.measureResult.labels._labels.forEach(label => {
                    label.text = label.text.replace('X', language.value.longitude).replace('Y', language.value.latitude).replace('Z', language.value.elevation).replace(/\n/g, '°\n');
                    if (convertValue) {
                      label.text = label.text.replace(res.coordinate.longitude.toFixed(5) + "°", convertValue[0]).replace(res.coordinate.latitude.toFixed(5) + "°", convertValue[1]);
                    }
                  });
                }
              }
            }
          });
          viewModel.activeEvent.addEventListener(function (active) {
            if (!active) {
              // isActive.value = null;
              isTips.value = false;
              if (result.value === 0) return;
              if (measureType.value === "height" && result.value.angle === 0) return;
              if (measureType.value === "azimuth" && result.value === 0) return;
              isResult.value = true;
            }
          });
          let handler = new Cesium.ScreenSpaceEventHandler(scenceView._viewer.scene.canvas);
          handler.setInputAction(function () {
            if (!viewModel._measureHandler.active) return;
            let isDrawing = viewModel._measureHandler.isDrawing;
            if (!isDrawing) {
              let measureResults = viewModel._measureHandler.measureResults;
              if (measureResults && measureResults.length > 0) {
                measureResults[0].destroy();
              }
              if (measureType.value === "coordinate") {
                isTips.value = false;
                isResult.value = true;
              } else {
                isTips.value = true;
                isResult.value = false;
              }
            }
            if (isDrawing) {
              if (measureType.value !== 'distance' && measureType.value !== 'area') {
                continueMeasure();
              }
            }
          }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
          handler.setInputAction(function () {
            let isDrawing = viewModel._measureHandler.isDrawing;
            if (!isDrawing) {
              isActive.value = null;
              viewModel.stopMeasure();
            } else {
              continueMeasure();
            }
          }, Cesium.ScreenSpaceEventType.RIGHT_CLICK);
          window.measureClickHandler = handler;
        }
      });
    });
    // 经纬度转度分秒
    function convertXY(val) {
      if (!val) {
        return "";
      }
      // 度=经纬度的整数部分
      let d = Math.floor(Number(val));
      // 经纬度的小数部分*60
      let temp1 = (Number(val) - Number(d)) * 60;
      // 分=（经纬度的小数部分*60）的整数部分
      let f = Math.floor(Number(temp1));
      // 秒=（经纬度的小数部分*60-分）*60
      let m = Math.floor((Number(temp1) - Number(f)) * 60);
      return d + "°" + f + "′" + m + "″";
    }
    /**
     * @description 监听header生成
     */
    const watchCreateHeaderTemp = () => {
      if (props.showHeaderTemp) {
        // 生成headerTemp
        headerTemp.value = (0,util_.createHeaderTemp)(boxRef.value, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toRefs)(props), headerTempRef, measureTitle);
      }
    };

    //加载测量模式数据
    function loadModeData() {
      return [{
        label: language.value.spaceMeasure,
        value: "space"
      }, {
        label: language.value.groundMeasure,
        value: "ground"
      }, {
        label: language.value.modelMeasure,
        value: "model"
      }];
    }
    function formatDistance(dis) {
      if (dis > 5000) {
        dis = dis / 1000;
        distanceUnit.value = "km";
      } else {
        distanceUnit.value = "m";
      }
      return dis.toFixed(2) + " " + distanceUnit.value;
    }
    function formatArea(area) {
      areaUnit.value = "m²";
      if (area > 1000000) {
        area = area / 1000000;
        areaUnit.value = "km²";
      }
      return area.toFixed(2) + " " + areaUnit.value;
    }

    /**
     * @description 监听单位变化操作
     * @param {string} unit - 单位
     */
    function onChangeUnit(unit) {
      result.value = convertValueUnitTotal(distanceValue, unit);
      viewModel && viewModel.updateDistanceUnit(distanceValue, unit);
    }

    /**
     * @description 测量距离数值单位换算
     * @param {string} value - 原始数值
     * @param {string} unit - 单位
     * @returns {string} 新数值
     */
    function convertValueUnitTotal(value, unit) {
      let newValue = "";
      switch (unit) {
        case "m":
          newValue = value.toFixed(2) + " m";
          break;
        case "km":
          newValue = (value / 1000).toFixed(2) + " km";
          break;
        case nauticalMileUnit:
          newValue = (value / 1852).toFixed(2) + " " + nauticalMileUnit;
          break;
        case "m²":
          newValue = value.toFixed(2) + " m²";
          break;
        case "km²":
          newValue = (value / 1000000).toFixed(2) + " km²";
          break;
        case "mu":
          newValue = (value * 2 / 3).toFixed(2) + " mu";
          break;
        case "ha":
          newValue = (value / 10000).toFixed(2) + " ha";
          break;
        default:
          break;
      }
      return newValue;
    }

    // 销毁
    (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.onBeforeUnmount)(() => {
      clearMeasure();
      if (window.measureClickHandler) {
        window.measureClickHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK);
        window.measureClickHandler.removeInputAction(Cesium.ScreenSpaceEventType.RIGHT_CLICK);
      }
    });

    //开始测量
    function startMeasure(type) {
      if (mode.value === "ground") {
        if (!viewModel.checkTerrainAdded()) {
          (0,message/* default */.Z)({
            message: language.value["measuretAddTerrainTips"],
            type: "warning"
          });
          return;
        }
      }
      if (mode.value === "model") {
        if (!viewModel.checkModelAdded()) {
          (0,message/* default */.Z)({
            message: language.value["measuretAddModelTips"],
            type: "warning"
          });
          return;
        }
      }
      viewModel.clear();
      result.value = 0;
      isTips.value = true;
      isResult.value = false;
      measureType.value = type;
      isActive.value = type;
      switch (type) {
        case "distance":
          viewModel.distanceMeasure(mode.value);
          break;
        case "area":
          viewModel.areaMeasure(mode.value);
          break;
        case "height":
          viewModel.heightMeasure();
          break;
        case "coordinate":
          viewModel.coordinateMeasure();
          break;
        case "azimuth":
          viewModel.azimuthMeasure();
          break;
        case "slope":
          if (mode.value === "ground") {
            viewModel.terrainSlopeMeasure();
          } else if (mode.value === "model") {
            viewModel.sceneSlopeMeasure();
          }
          break;
        default:
          break;
      }
    }
    function continueMeasure() {
      setTimeout(() => {
        switch (measureType.value) {
          case "distance":
            viewModel.distanceMeasure(mode.value);
            break;
          case "area":
            viewModel.areaMeasure(mode.value);
            break;
          case "height":
            viewModel.heightMeasure();
            break;
          case "coordinate":
            viewModel.coordinateMeasure();
            break;
          case "azimuth":
            viewModel.azimuthMeasure();
            break;
          case "slope":
            if (mode.value === "ground") {
              viewModel.terrainSlopeMeasure();
            } else if (mode.value === "model") {
              viewModel.sceneSlopeMeasure();
            }
            break;
          default:
            break;
        }
      }, 300);
    }

    /**
     * 清除测量
     */
    function clearMeasure() {
      viewModel && viewModel.clear();
      measureType.value = null;
      isActive.value = null;
      isTips.value = false;
      isResult.value = false;
    }
    __expose({
      loadModeData,
      formatDistance,
      formatArea,
      startMeasure,
      clearMeasure
    });
    return (_ctx, _cache) => {
      const _component_kq_option = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-option");
      const _component_kq_select = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-select");
      const _component_kq_icon = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-icon");
      const _component_kq_button = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-button");
      const _component_kq_divider = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveComponent)("kq-divider");
      return (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("section", {
        class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.normalizeClass)(["kq-measure3d", {
          'kq-box-shadow': __props.showShadow
        }]),
        ref_key: "boxRef",
        ref: boxRef
      }, [__props.showHeaderTemp ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createBlock)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.resolveDynamicComponent)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(headerTemp)), {
        key: 0,
        ref_key: "headerTempRef",
        ref: headerTempRef
      }, null, 512 /* NEED_PATCH */)) : (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)("v-if", true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("div", _hoisted_1, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("div", _hoisted_2, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("div", _hoisted_3, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_4, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).mode), 1 /* TEXT */), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_select, {
        modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(mode),
        "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.isRef)(mode) ? mode.value = $event : mode = $event)
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)(external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.Fragment, null, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.renderList)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(modeList), item => {
          return (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createBlock)(_component_kq_option, {
            key: item.value,
            label: item.label,
            value: item.value
          }, null, 8 /* PROPS */, ["label", "value"]);
        }), 128 /* KEYED_FRAGMENT */))]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["modelValue"])])]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("div", _hoisted_5, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
        onClick: _cache[1] || (_cache[1] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => startMeasure('distance'), ["stop"])),
        class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.normalizeClass)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(isActive) == 'distance' ? 'is-active' : null),
        title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).distance
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
          size: 24
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(client_icons_vue_.IconMeasureDistance))]),
          _: 1 /* STABLE */
        })]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["class", "title"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
        onClick: _cache[2] || (_cache[2] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => startMeasure('area'), ["stop"])),
        class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.normalizeClass)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(isActive) == 'area' ? 'is-active' : null),
        title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).area
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
          size: 24
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(client_icons_vue_.IconMeasureArea))]),
          _: 1 /* STABLE */
        })]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["class", "title"]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
        onClick: _cache[3] || (_cache[3] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => startMeasure('height'), ["stop"])),
        class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.normalizeClass)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(isActive) == 'height' ? 'is-active' : null),
        title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).height
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
          size: 24
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(client_icons_vue_.IconMeasureCoordinate))]),
          _: 1 /* STABLE */
        })]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(mode) == 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
        onClick: _cache[4] || (_cache[4] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => startMeasure('azimuth'), ["stop"])),
        class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.normalizeClass)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(isActive) == 'azimuth' ? 'is-active' : null),
        title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).azimuth
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
          size: 24
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(client_icons_vue_.IconAzimuthMeasure))]),
          _: 1 /* STABLE */
        })]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(mode) == 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
        onClick: _cache[5] || (_cache[5] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => startMeasure('coordinate'), ["stop"])),
        class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.normalizeClass)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(isActive) == 'coordinate' ? 'is-active' : null),
        title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).coordinate
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
          size: 24
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(client_icons_vue_.IconGroundSurvey))]),
          _: 1 /* STABLE */
        })]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(mode) == 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withDirectives)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
        onClick: _cache[6] || (_cache[6] = (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)($event => startMeasure('slope'), ["stop"])),
        class: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.normalizeClass)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(isActive) == 'slope' ? 'is-active' : null),
        title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).slope
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
          size: 24
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(client_icons_vue_.IconSlopeMeasure))]),
          _: 1 /* STABLE */
        })]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["class", "title"]), [[external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.vShow, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(mode) != 'space']]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_button, {
        type: "danger",
        plain: "",
        onClick: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withModifiers)(clearMeasure, ["stop"]),
        title: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).clear
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_icon, {
          class: "icon-delete",
          size: 24
        }, {
          default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(icons_vue_.Delete))]),
          _: 1 /* STABLE */
        })]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["onClick", "title"])]), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(isTips) ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("div", _hoisted_6, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_divider), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(measureType) === 'height' || (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(measureType) === 'azimuth' ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("p", _hoisted_7, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).measureTips1), 1 /* TEXT */)) : ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("p", _hoisted_8, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).measureTips), 1 /* TEXT */))])) : (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)("v-if", true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(isResult) ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("div", _hoisted_9, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createVNode)(_component_kq_divider), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("div", _hoisted_10, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(measureType) === 'distance' || (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(measureType) === 'area' ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("div", _hoisted_11, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_12, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).unit), 1 /* TEXT */), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(measureType) === 'distance' ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createBlock)(_component_kq_select, {
        key: 0,
        modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(distanceUnit),
        "onUpdate:modelValue": _cache[7] || (_cache[7] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.isRef)(distanceUnit) ? distanceUnit.value = $event : distanceUnit = $event),
        onChange: onChangeUnit
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)(external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.Fragment, null, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.renderList)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(distanceUnits), item => {
          return (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createBlock)(_component_kq_option, {
            key: item.value,
            label: item.label,
            value: item.value
          }, null, 8 /* PROPS */, ["label", "value"]);
        }), 128 /* KEYED_FRAGMENT */))]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["modelValue"])) : (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)("v-if", true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(measureType) === 'area' ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createBlock)(_component_kq_select, {
        key: 1,
        modelValue: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(areaUnit),
        "onUpdate:modelValue": _cache[8] || (_cache[8] = $event => (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.isRef)(areaUnit) ? areaUnit.value = $event : areaUnit = $event),
        onChange: onChangeUnit
      }, {
        default: (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.withCtx)(() => [((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)(external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.Fragment, null, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.renderList)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(areaUnits), item => {
          return (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createBlock)(_component_kq_option, {
            key: item.value,
            label: item.label,
            value: item.value
          }, null, 8 /* PROPS */, ["label", "value"]);
        }), 128 /* KEYED_FRAGMENT */))]),
        _: 1 /* STABLE */
      }, 8 /* PROPS */, ["modelValue"])) : (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)("v-if", true)])) : (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)("v-if", true), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("div", _hoisted_13, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_14, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).measureResult), 1 /* TEXT */), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(measureType) === 'height' ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("div", _hoisted_15, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_16, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).spaceDistance), 1 /* TEXT */), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_17, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(result).spaceDistance) + " m", 1 /* TEXT */), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_18, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).horizontalDistance), 1 /* TEXT */), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_19, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(result).horizontalDistance) + " m", 1 /* TEXT */), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_20, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).verticalDistance), 1 /* TEXT */), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_21, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(result).verticalDistance) + " m", 1 /* TEXT */), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_22, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).angle), 1 /* TEXT */), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_23, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(result).angle) + " °", 1 /* TEXT */)])) : (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(measureType) === 'coordinate' ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("div", _hoisted_24, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_25, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).longitude), 1 /* TEXT */), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_26, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(result).longitude), 1 /* TEXT */), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_27, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).latitude), 1 /* TEXT */), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_28, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(result).latitude), 1 /* TEXT */), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_29, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).elevation), 1 /* TEXT */), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_30, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(result).height) + " m", 1 /* TEXT */)])) : (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(measureType) === 'azimuth' ? ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("div", _hoisted_31, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_32, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).azimuth), 1 /* TEXT */), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_33, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(result).azimuth) + " °", 1 /* TEXT */), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_34, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language).distance), 1 /* TEXT */), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_35, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(result).distance) + " m", 1 /* TEXT */)])) : ((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.openBlock)(), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementBlock)("div", _hoisted_36, [(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_37, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(language)[(0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(measureType)]), 1 /* TEXT */), (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createElementVNode)("p", _hoisted_38, (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.toDisplayString)((0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.unref)(result)), 1 /* TEXT */)]))])])])) : (0,external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_.createCommentVNode)("v-if", true)])], 2 /* CLASS */);
    };
  }
}));
;// CONCATENATED MODULE: ./src/webgl/measure/Measure.vue?vue&type=script&setup=true&lang=js
 
;// CONCATENATED MODULE: ./src/webgl/measure/Measure.vue



const __exports__ = Measurevue_type_script_setup_true_lang_js;

/* harmony default export */ var Measure = (__exports__);

/***/ }),

/***/ 8422:
/***/ (function(module) {

module.exports = require("@element-plus/icons-vue");

/***/ }),

/***/ 348:
/***/ (function(module) {

module.exports = require("@kq_npm/client_icons_vue");

/***/ }),

/***/ 8470:
/***/ (function(module) {

module.exports = require("core-js/modules/esnext.iterator.constructor.js");

/***/ }),

/***/ 1058:
/***/ (function(module) {

module.exports = require("core-js/modules/esnext.iterator.for-each.js");

/***/ }),

/***/ 9389:
/***/ (function(module) {

module.exports = require("element-plus/dist/index.full.js");

/***/ }),

/***/ 7080:
/***/ (function(module) {

module.exports = require("vue-i18n/dist/vue-i18n.cjs.js");

/***/ }),

/***/ 7135:
/***/ (function(module) {

module.exports = __WEBPACK_EXTERNAL_MODULE__7135__;

/***/ }),

/***/ 3458:
/***/ (function(module) {

module.exports = __WEBPACK_EXTERNAL_MODULE__3458__;

/***/ }),

/***/ 7997:
/***/ (function(module) {

module.exports = __WEBPACK_EXTERNAL_MODULE__7997__;

/***/ }),

/***/ 1895:
/***/ (function(module) {

module.exports = __WEBPACK_EXTERNAL_MODULE__1895__;

/***/ }),

/***/ 5301:
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "Z": function() { return /* binding */ _defineProperty; }
});

;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
function _typeof(o) {
  "@babel/helpers - typeof";

  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
    return typeof o;
  } : function (o) {
    return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
  }, _typeof(o);
}

;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toPrimitive.js

function toPrimitive(t, r) {
  if ("object" != _typeof(t) || !t) return t;
  var e = t[Symbol.toPrimitive];
  if (void 0 !== e) {
    var i = e.call(t, r || "default");
    if ("object" != _typeof(i)) return i;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return ("string" === r ? String : Number)(t);
}

;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js


function toPropertyKey(t) {
  var i = toPrimitive(t, "string");
  return "symbol" == _typeof(i) ? i : i + "";
}

;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js

function _defineProperty(e, r, t) {
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
    value: t,
    enumerable: !0,
    configurable: !0,
    writable: !0
  }) : e[r] = t, e;
}


/***/ })

/******/ 	});
/************************************************************************/
/******/ 	// The module cache
/******/ 	var __webpack_module_cache__ = {};
/******/ 	
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/ 		// Check if module is in cache
/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
/******/ 		if (cachedModule !== undefined) {
/******/ 			return cachedModule.exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = __webpack_module_cache__[moduleId] = {
/******/ 			// no module.id needed
/******/ 			// no module.loaded needed
/******/ 			exports: {}
/******/ 		};
/******/ 	
/******/ 		// Execute the module function
/******/ 		__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/ 	
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/ 	
/************************************************************************/
/******/ 	/* webpack/runtime/compat get default export */
/******/ 	!function() {
/******/ 		// getDefaultExport function for compatibility with non-harmony modules
/******/ 		__webpack_require__.n = function(module) {
/******/ 			var getter = module && module.__esModule ?
/******/ 				function() { return module['default']; } :
/******/ 				function() { return module; };
/******/ 			__webpack_require__.d(getter, { a: getter });
/******/ 			return getter;
/******/ 		};
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/define property getters */
/******/ 	!function() {
/******/ 		// define getter functions for harmony exports
/******/ 		__webpack_require__.d = function(exports, definition) {
/******/ 			for(var key in definition) {
/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ 				}
/******/ 			}
/******/ 		};
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
/******/ 	!function() {
/******/ 		__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/make namespace object */
/******/ 	!function() {
/******/ 		// define __esModule on exports
/******/ 		__webpack_require__.r = function(exports) {
/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 			}
/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
/******/ 		};
/******/ 	}();
/******/ 	
/************************************************************************/
var __webpack_exports__ = {};
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
!function() {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "MeasureViewModel": function() { return /* reexport safe */ _MeasureViewModel__WEBPACK_IMPORTED_MODULE_1__.Z; },
/* harmony export */   "default": function() { return /* reexport safe */ _Measure__WEBPACK_IMPORTED_MODULE_0__.Z; }
/* harmony export */ });
/* harmony import */ var _Measure__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7226);
/* harmony import */ var _MeasureViewModel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(193);
/* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7997);
/* harmony import */ var _init__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_init__WEBPACK_IMPORTED_MODULE_2__);
/*
 * Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
 * All rights reserved.
 */



_Measure__WEBPACK_IMPORTED_MODULE_0__/* ["default"].install */ .Z.install = (Vue, opts) => {
  _init__WEBPACK_IMPORTED_MODULE_2___default()(Vue, opts);
  Vue.component(_Measure__WEBPACK_IMPORTED_MODULE_0__/* ["default"].name */ .Z.name, _Measure__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z);
};

}();
/******/ 	return __webpack_exports__;
/******/ })()
;
});