|
@@ -2,6 +2,15 @@
|
|
|
<div v-if="ToolBarShow">
|
|
|
<!-- <div class="resourceTree" @click="choose(0)"></div> -->
|
|
|
<div class="toolBar">
|
|
|
+ <el-cascader
|
|
|
+ size="mini"
|
|
|
+ :show-all-levels="false"
|
|
|
+ :options="xzqTreeData"
|
|
|
+ placeholder="行政区"
|
|
|
+ :props="{ checkStrictly: true, expandTrigger: 'hover' }"
|
|
|
+ clearable
|
|
|
+ v-model="xzqTreeValue"
|
|
|
+ ></el-cascader>
|
|
|
<li
|
|
|
class="sm-btn sm-tool-btn"
|
|
|
:title="Resource.Resource"
|
|
@@ -10,87 +19,60 @@
|
|
|
<span class="iconfont icontuceng"></span>
|
|
|
</li>
|
|
|
|
|
|
- <ul v-if="show">
|
|
|
- <li
|
|
|
- class="sm-btn sm-tool-btn"
|
|
|
- :title="Resource.PoinyQuery"
|
|
|
- @click="choose(9)"
|
|
|
- >
|
|
|
- <i class="el-icon-thumb"></i>
|
|
|
- <!-- <Icon
|
|
|
- type="md-information-circle"
|
|
|
- style="color: #51e9ff !important"
|
|
|
- /> -->
|
|
|
- </li>
|
|
|
- <li
|
|
|
- class="sm-btn sm-tool-btn"
|
|
|
- :title="Resource.PlacenameLocation"
|
|
|
- @click="choose(10)"
|
|
|
- >
|
|
|
- <i class="el-icon-place"></i>
|
|
|
- <!-- <Icon type="logo-xbox" style="color: #51e9ff !important" /> -->
|
|
|
- </li>
|
|
|
- <li
|
|
|
- class="sm-btn sm-tool-btn"
|
|
|
- :title="Resource.measure"
|
|
|
- @click="choose(7)"
|
|
|
- >
|
|
|
- <span class="iconfont iconliangsuan"></span>
|
|
|
- </li>
|
|
|
- <!-- <li
|
|
|
- class="sm-btn sm-tool-btn"
|
|
|
- :title="Resource.setBaseLayer"
|
|
|
- @click="choose(2)"
|
|
|
- >
|
|
|
- <span class="iconfont iconditushezhi"></span>
|
|
|
- </li> -->
|
|
|
- <li
|
|
|
- class="sm-btn sm-tool-btn"
|
|
|
- :title="Resource.clip"
|
|
|
- @click="choose(4)"
|
|
|
- >
|
|
|
- <span class="iconfont iconiEarth-R8-xiugai_caijian"></span>
|
|
|
- </li>
|
|
|
- <li
|
|
|
- class="sm-btn sm-tool-btn"
|
|
|
- :title="Resource.terrain"
|
|
|
- @click="choose(5)"
|
|
|
- >
|
|
|
- <span class="iconfont icondixing"></span>
|
|
|
- </li>
|
|
|
- <!-- <li
|
|
|
- class="sm-btn sm-tool-btn"
|
|
|
- :title="Resource.analysis"
|
|
|
- @click="choose(6)"
|
|
|
- >
|
|
|
- <span class="iconfont iconsanweifenxi"></span>
|
|
|
- </li> -->
|
|
|
- <li
|
|
|
- class="sm-btn sm-tool-btn"
|
|
|
- :title="Resource.onlineEditing"
|
|
|
- @click="choose(8)"
|
|
|
- >
|
|
|
- <span class="iconfont iconzaixianbianji"></span>
|
|
|
- </li>
|
|
|
- <li
|
|
|
- class="sm-btn sm-tool-btn"
|
|
|
- :title="Resource.analysis"
|
|
|
- @click="choose(6)"
|
|
|
- >
|
|
|
- <span class="iconfont iconsanweifenxi"></span>
|
|
|
- </li>
|
|
|
- <li
|
|
|
- class="sm-btn sm-tool-btn"
|
|
|
- :title="Resource.sceneOptions"
|
|
|
- @click="choose(3)"
|
|
|
- >
|
|
|
- <i class="el-icon-setting"></i>
|
|
|
- <!-- <span class="iconfont iconchangjingshezhi"></span> -->
|
|
|
- </li>
|
|
|
- <!-- <li class="sm-btn sm-tool-btn" title="城市设计" @click="choose(9)">
|
|
|
- <span class="iconfont iconVue-sightline"></span>
|
|
|
- </li> -->
|
|
|
- </ul>
|
|
|
+ <!-- <ul v-if="show"> -->
|
|
|
+ <li
|
|
|
+ class="sm-btn sm-tool-btn"
|
|
|
+ :title="Resource.PoinyQuery"
|
|
|
+ @click="choose(9)"
|
|
|
+ >
|
|
|
+ <i class="el-icon-thumb"></i>
|
|
|
+ </li>
|
|
|
+ <li
|
|
|
+ class="sm-btn sm-tool-btn"
|
|
|
+ :title="Resource.PlacenameLocation"
|
|
|
+ @click="choose(10)"
|
|
|
+ >
|
|
|
+ <i class="el-icon-place"></i>
|
|
|
+ </li>
|
|
|
+ <li
|
|
|
+ class="sm-btn sm-tool-btn"
|
|
|
+ :title="Resource.measure"
|
|
|
+ @click="choose(7)"
|
|
|
+ >
|
|
|
+ <span class="iconfont iconliangsuan"></span>
|
|
|
+ </li>
|
|
|
+ <li class="sm-btn sm-tool-btn" :title="Resource.clip" @click="choose(4)">
|
|
|
+ <span class="iconfont iconiEarth-R8-xiugai_caijian"></span>
|
|
|
+ </li>
|
|
|
+ <li
|
|
|
+ class="sm-btn sm-tool-btn"
|
|
|
+ :title="Resource.terrain"
|
|
|
+ @click="choose(5)"
|
|
|
+ >
|
|
|
+ <span class="iconfont icondixing"></span>
|
|
|
+ </li>
|
|
|
+ <li
|
|
|
+ class="sm-btn sm-tool-btn"
|
|
|
+ :title="Resource.onlineEditing"
|
|
|
+ @click="choose(8)"
|
|
|
+ >
|
|
|
+ <span class="iconfont iconzaixianbianji"></span>
|
|
|
+ </li>
|
|
|
+ <li
|
|
|
+ class="sm-btn sm-tool-btn"
|
|
|
+ :title="Resource.analysis"
|
|
|
+ @click="choose(6)"
|
|
|
+ >
|
|
|
+ <span class="iconfont iconsanweifenxi"></span>
|
|
|
+ </li>
|
|
|
+ <li
|
|
|
+ class="sm-btn sm-tool-btn"
|
|
|
+ :title="Resource.sceneOptions"
|
|
|
+ @click="choose(3)"
|
|
|
+ >
|
|
|
+ <i class="el-icon-setting"></i>
|
|
|
+ </li>
|
|
|
+ <!-- </ul> -->
|
|
|
<div
|
|
|
style="display: none"
|
|
|
class="sm-tool-btn"
|
|
@@ -137,6 +119,7 @@
|
|
|
|
|
|
<script>
|
|
|
import clickQuery from "../../Query/clickQuery/clickQuery.vue";
|
|
|
+import { GetXzqhTree, GetXzqhGeom } from "@/api/map";
|
|
|
export default {
|
|
|
components: { clickQuery },
|
|
|
name: "ToolBar",
|
|
@@ -147,8 +130,14 @@ export default {
|
|
|
show: true,
|
|
|
clickShow: false,
|
|
|
plan: false,
|
|
|
+ xzqTreeData: [],
|
|
|
+ xzqTreeValue: "",
|
|
|
+ curXzqCode: "",
|
|
|
};
|
|
|
},
|
|
|
+ created() {
|
|
|
+ this.getXzqTreeData();
|
|
|
+ },
|
|
|
computed: {
|
|
|
ToolBarShow: function () {
|
|
|
return this.sharedState.ToolBarShow;
|
|
@@ -156,6 +145,38 @@ export default {
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
+ getXzqGeom() {
|
|
|
+ GetXzqhGeom(this.curXzqCode).then((res) => {
|
|
|
+ viewer.entities.removeAll();
|
|
|
+ let geoms = res.data
|
|
|
+ .substring(res.data.indexOf("(((") + 3, res.data.length - 3)
|
|
|
+ .split(")),((");
|
|
|
+ for (let i = 0; i < geoms.length; i++) {
|
|
|
+ let geom = geoms[i].split(",");
|
|
|
+ let points = [];
|
|
|
+ for (let j = 0; j < geom.length; j++) {
|
|
|
+ points.push(parseFloat(geom[j].split(" ")[0]));
|
|
|
+ points.push(parseFloat(geom[j].split(" ")[1]));
|
|
|
+ }
|
|
|
+ points.push(parseFloat(geom[0].split(" ")[0]));
|
|
|
+ points.push(parseFloat(geom[0].split(" ")[1]));
|
|
|
+ viewer.entities.add({
|
|
|
+ polyline: new Cesium.PolylineGraphics({
|
|
|
+ positions: Cesium.Cartesian3.fromDegreesArray(points),
|
|
|
+ width: 3,
|
|
|
+ material: Cesium.Color.BLUE.withAlpha(0.9),
|
|
|
+ clampToGround: true,
|
|
|
+ }),
|
|
|
+ });
|
|
|
+ }
|
|
|
+ viewer.flyTo(viewer.entities);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ getXzqTreeData() {
|
|
|
+ GetXzqhTree().then((res) => {
|
|
|
+ this.xzqTreeData = res.data;
|
|
|
+ });
|
|
|
+ },
|
|
|
toggleVisibility() {
|
|
|
//控制组件界面显隐
|
|
|
this.show = !this.show;
|
|
@@ -175,6 +196,16 @@ export default {
|
|
|
// }
|
|
|
},
|
|
|
},
|
|
|
+ watch: {
|
|
|
+ xzqTreeValue(val) {
|
|
|
+ viewer.entities.removeAll();
|
|
|
+ this.curXzqCode = val[val.length - 1];
|
|
|
+ store.setXzqdm(this.curXzqCode);
|
|
|
+ if (this.curXzqCode) {
|
|
|
+ this.getXzqGeom();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
};
|
|
|
</script>
|
|
|
|