月球大数据地理空间分析展示平台-【前端】-月球2期前端
Surpriseplus
2023-09-11 48a6eb2109a41f8e10d5a2b67ea17899d3ef3586
地名定位展示效果优化,坐标定位功能优化
已修改3个文件
89 ■■■■■ 文件已修改
src/assets/js/Map/menuTool.js 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/plotting/plotting.vue 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/query/CoordLocation.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/Map/menuTool.js
@@ -104,24 +104,40 @@
    if (this.localPoint) {
      this.setLocalPositionClose();
    }
    var position = {
      X: parseFloat(res.lon),
      Y: parseFloat(res.lat),
      Altitude: parseFloat(res.alt),
    };
    this.localPoint = window.sgworld.Creator.CreateImageLabel(
      position,
      config.StaticFileBaseUrl + "/Workers/image/mark.png",
      {},
      0,
      "标签点"
    );
    var id = this.localPoint.item.id;
    window.sgworld.Navigate.flyToObj(this.localPoint.item);
    // var position = {
    //   X: parseFloat(res.lon),
    //   Y: parseFloat(res.lat),
    //   Altitude: parseFloat(res.alt),
    // };
    // this.localPoint = window.sgworld.Creator.CreateImageLabel(
    //   position,
    //   config.StaticFileBaseUrl + "/Workers/image/mark.png",
    //   {},
    //   0,
    //   "标签点"
    // );
    // var id = this.localPoint.item.id;
    // window.sgworld.Navigate.flyToObj(this.localPoint.item);
    this.localPoint = window.Viewer.entities.add({
      name: '坐标定位',
      position: Cesium.Cartesian3.fromDegrees(parseFloat(res.lon), parseFloat(res.lat), res.alt == null ? parseFloat(res.alt) : 0),
      billboard: {
        image: config.StaticFileBaseUrl + '/Workers/image/location.png',
        // 设置贴地
        heightReference: Cesium.Color.CORNFLOWERBLUE.withAlpha(0.4),
        verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
        scale: 5.0,
      },
    });
    this.setViewerFlyTo(this.localPoint)
  },
  setLocalPositionClose() {
    this.localPoint.deleteObject();
    this.localPoint = null;
    if (this.localPoint) {
      // this.localPoint.deleteObject();
      window.Viewer.entities.remove(this.localPoint)
      this.localPoint = null;
    }
  },
  //坡度分析
  setSlopeMap() {
@@ -622,6 +638,7 @@
    this.setViewerFlyTo(position)
  },
  setViewerFlyTo(entity) {
    window.Viewer.flyTo(entity, {
      offset: {
        heading: Cesium.Math.toRadians(0.0),
src/views/plotting/plotting.vue
@@ -1,8 +1,14 @@
<template>
  <div v-drag class="plottingBox">
  <div
    v-drag
    class="plottingBox"
  >
    <div class="plottingTitle">
      <div class="tileLeft">
        <div class="titleImg" @click="setCloseplotting">
        <div
          class="titleImg"
          @click="setCloseplotting"
        >
          <ArrowLeft />
        </div>
        <div class="titleLable">标绘查询</div>
@@ -12,9 +18,18 @@
      <div class="plotting_content_btn">
        <span class="plotting_content_title">标绘工具</span>
        <div class="plotting_btn">
          <div class="btn_box_d btn_box" @click="setMenuDraw('point')"></div>
          <div class="btn_box_x btn_box" @click="setMenuDraw('polyline')"></div>
          <div class="btn_box_m btn_box" @click="setMenuDraw('polygon')"></div>
          <div
            class="btn_box_d btn_box"
            @click="setMenuDraw('point')"
          ></div>
          <div
            class="btn_box_x btn_box"
            @click="setMenuDraw('polyline')"
          ></div>
          <div
            class="btn_box_m btn_box"
            @click="setMenuDraw('polygon')"
          ></div>
        </div>
      </div>
      <div class="plotting_list">
@@ -32,8 +47,14 @@
            /><span>{{ item.name }}</span>
          </div>
          <div class="plotting_list_tr_btn">
            <div class="tr_btn dw" @click.stop="setLayerLocation(item)"></div>
            <div class="tr_btn sc" @click.stop="setLayerRemove(item)"></div>
            <div
              class="tr_btn dw"
              @click.stop="setLayerLocation(item)"
            ></div>
            <div
              class="tr_btn sc"
              @click.stop="setLayerRemove(item)"
            ></div>
          </div>
        </div>
      </div>
src/views/query/CoordLocation.vue
@@ -37,10 +37,7 @@
            placeholder="请输入纬度..."
          />
        </el-form-item>
        <el-form-item
          label="高度:"
          prop="alt"
        >
        <el-form-item label="高度:">
          <el-input
            v-model="ruleForm.alt"
            placeholder="请输入高度..."