From 89732c234b7b574d65bbd5498ae9981d4777a662 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Wed, 09 Feb 2022 13:43:10 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/school-web
---
src/components/mobilemap/index.vue | 236 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 231 insertions(+), 5 deletions(-)
diff --git a/src/components/mobilemap/index.vue b/src/components/mobilemap/index.vue
index 8c377cd..f177910 100644
--- a/src/components/mobilemap/index.vue
+++ b/src/components/mobilemap/index.vue
@@ -30,6 +30,8 @@
<mobileActivity></mobileActivity>
<!-- 盖住左下角 -->
<div class="cover_mobileMap">智慧社区</div>
+ <!-- 指示器 -->
+ <!-- <div class="heights">{{ heights }}---{{ heights1 }}</div> -->
</div>
</template>
<script>
@@ -40,6 +42,9 @@
name: "mobilemapBox",
data() {
return {
+ butbut: null,
+ heights: 0,
+ heights1: 0,
DC: "",
bigPopup: {
width: 0,
@@ -279,13 +284,222 @@
// if (height > 2000) {
// conBack(2000);
// }
- if (height < 0 && isSet) {
- conBack(0);
+ if (height <= 190 && isSet) {
+ conBack(190);
}
- if (height > 4000 && isSet) {
- conBack(4000);
+ // if (height > 220 && height <= 280 && isSet) {
+ // conBack(280);
+ // }
+ // if (height > 280 && height <= 340 && isSet) {
+ // conBack(340);
+ // }
+ // if (height > 340 && height <= 400 && isSet) {
+ // conBack(400);
+ // }
+ if (height > 400 && isSet) {
+ conBack(400);
}
});
+
+ // 按钮事件
+ that.butbut = function () {
+ //放大
+ document.querySelector(".dc-zoom-controller").children[0].onclick =
+ function () {
+ if (that.dimension == "2.5D") {
+ const height = Math.ceil(
+ viewer.camera.positionCartographic.height
+ );
+
+ if (height > 360) {
+ viewer.camera.setView({
+ destination: that.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ viewer.camera.positionCartographic.longitude,
+ viewer.camera.positionCartographic.latitude,
+ 330
+ ),
+ orientation: {
+ // 指向
+ heading: that.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: that.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0,
+ },
+ });
+
+ return;
+ }
+
+ if (height > 300) {
+ viewer.camera.setView({
+ destination: that.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ viewer.camera.positionCartographic.longitude,
+ viewer.camera.positionCartographic.latitude,
+ 270
+ ),
+ orientation: {
+ // 指向
+ heading: that.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: that.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0,
+ },
+ });
+
+ return;
+ }
+
+ if (height > 240) {
+ viewer.camera.setView({
+ destination: that.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ viewer.camera.positionCartographic.longitude,
+ viewer.camera.positionCartographic.latitude,
+ 200
+ ),
+ orientation: {
+ // 指向
+ heading: that.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: that.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0,
+ },
+ });
+ }
+ }
+ };
+ //缩小
+ document.querySelector(".dc-zoom-controller").children[2].onclick =
+ function () {
+ if (that.dimension == "2.5D") {
+ const height = Math.ceil(
+ viewer.camera.positionCartographic.height
+ );
+
+ if (height <= 240) {
+ viewer.camera.setView({
+ destination: that.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ viewer.camera.positionCartographic.longitude,
+ viewer.camera.positionCartographic.latitude,
+ 270
+ ),
+ orientation: {
+ // 指向
+ heading: that.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: that.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0,
+ },
+ });
+ }
+
+ if (height > 240 && height <= 300) {
+ viewer.camera.setView({
+ destination: that.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ viewer.camera.positionCartographic.longitude,
+ viewer.camera.positionCartographic.latitude,
+ 330
+ ),
+ orientation: {
+ // 指向
+ heading: that.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: that.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0,
+ },
+ });
+ }
+
+ if (height > 300 && height < 360) {
+ viewer.camera.setView({
+ destination: that.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ viewer.camera.positionCartographic.longitude,
+ viewer.camera.positionCartographic.latitude,
+ 400
+ ),
+ orientation: {
+ // 指向
+ heading: that.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: that.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0,
+ },
+ });
+ }
+ }
+ };
+ //滚轮事件
+ // 指示器
+ var ii = 1,
+ startHeight = 0,
+ cutHeight = 0;
+ let overii = function () {
+ ii = 1;
+ startHeight = 0;
+ cutHeight = 0;
+ };
+ let setViews = (num) => {
+ viewer.camera.setView({
+ destination: that.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ viewer.camera.positionCartographic.longitude,
+ viewer.camera.positionCartographic.latitude,
+ num
+ ),
+ orientation: {
+ // 指向
+ heading: that.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: that.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0,
+ },
+ });
+ overii();
+ };
+ viewer.on(that.DC.SceneEventType.CAMERA_CHANGED, (e) => {
+ if (that.dimension == "2.5D") {
+ // console.log(e);
+ const height = Math.ceil(viewer.camera.positionCartographic.height);
+ if (ii == 1 && startHeight == 0) {
+ startHeight = height;
+ }
+ ii++;
+ cutHeight = height - startHeight;
+ // console.log(cutHeight);
+ console.log(height);
+ that.heights = height;
+ that.heights1 = cutHeight;
+ // return;
+ if (ii != 1) {
+ if (cutHeight >= 0) {
+ if (cutHeight > 3) {
+ if (height >= 200 && height < 270) {
+ setViews(270);
+ }
+ if (height >= 273 && height < 330) {
+ setViews(330);
+ }
+ if (height >= 333 && height < 400) {
+ setViews(400);
+ }
+ }
+ //放大
+ } else {
+ //缩小
+ if (cutHeight < -3) {
+ if (height <= 400 && height > 327) {
+ setViews(330);
+ }
+ if (height <= 327 && height > 267) {
+ setViews(270);
+ }
+ if (height <= 267 && height > 200) {
+ setViews(200);
+ }
+ }
+ }
+ }
+ }
+ });
+ };
// 地图点击事件
// viewer.on(DC.MouseEventType.CLICK, (e) => {
@@ -643,7 +857,8 @@
};
that.dimension == "2.5D"
? doit2(
- [114.03928791, 27.62954732, 360.0],
+ [114.03928791, 27.62954732, 200.0],
+ // [114.04062292, 27.62666834, 220.0],
[
that.dimensionData.heading,
that.dimensionData.pitch,
@@ -826,6 +1041,9 @@
}
DC.ready(initViewer);
+ setTimeout(() => {
+ that.butbut();
+ }, 0);
},
methods: {
openPopupS(position, lntLat, query) {
@@ -849,4 +1067,12 @@
height: 100%;
position: relative;
}
+.heights {
+ background-color: #fff;
+ font-size: 24px;
+ position: fixed;
+ top: 0;
+ right: 0;
+ z-index: 9999999;
+}
</style>
--
Gitblit v1.9.3