From f1745589a9a10373e3372a47b3ba47358ea60698 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Wed, 09 Feb 2022 13:38:39 +0800
Subject: [PATCH] +设置2.5维度的高度及缩放
---
src/components/mobilemap/index.vue | 112 +++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 98 insertions(+), 14 deletions(-)
diff --git a/src/components/mobilemap/index.vue b/src/components/mobilemap/index.vue
index 3d9f773..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>
@@ -41,6 +43,8 @@
data() {
return {
butbut: null,
+ heights: 0,
+ heights1: 0,
DC: "",
bigPopup: {
width: 0,
@@ -280,8 +284,8 @@
// if (height > 2000) {
// conBack(2000);
// }
- if (height <= 220 && isSet) {
- conBack(220);
+ if (height <= 190 && isSet) {
+ conBack(190);
}
// if (height > 220 && height <= 280 && isSet) {
// conBack(280);
@@ -307,12 +311,12 @@
viewer.camera.positionCartographic.height
);
- if (height > 370) {
+ if (height > 360) {
viewer.camera.setView({
destination: that.DC.Namespace.Cesium.Cartesian3.fromRadians(
viewer.camera.positionCartographic.longitude,
viewer.camera.positionCartographic.latitude,
- 340
+ 330
),
orientation: {
// 指向
@@ -326,12 +330,12 @@
return;
}
- if (height > 310) {
+ if (height > 300) {
viewer.camera.setView({
destination: that.DC.Namespace.Cesium.Cartesian3.fromRadians(
viewer.camera.positionCartographic.longitude,
viewer.camera.positionCartographic.latitude,
- 280
+ 270
),
orientation: {
// 指向
@@ -345,12 +349,12 @@
return;
}
- if (height > 250) {
+ if (height > 240) {
viewer.camera.setView({
destination: that.DC.Namespace.Cesium.Cartesian3.fromRadians(
viewer.camera.positionCartographic.longitude,
viewer.camera.positionCartographic.latitude,
- 220
+ 200
),
orientation: {
// 指向
@@ -371,12 +375,12 @@
viewer.camera.positionCartographic.height
);
- if (height <= 250) {
+ if (height <= 240) {
viewer.camera.setView({
destination: that.DC.Namespace.Cesium.Cartesian3.fromRadians(
viewer.camera.positionCartographic.longitude,
viewer.camera.positionCartographic.latitude,
- 280
+ 270
),
orientation: {
// 指向
@@ -388,12 +392,12 @@
});
}
- if (height > 250 && height <= 310) {
+ if (height > 240 && height <= 300) {
viewer.camera.setView({
destination: that.DC.Namespace.Cesium.Cartesian3.fromRadians(
viewer.camera.positionCartographic.longitude,
viewer.camera.positionCartographic.latitude,
- 340
+ 330
),
orientation: {
// 指向
@@ -405,7 +409,7 @@
});
}
- if (height > 310 && height < 370) {
+ if (height > 300 && height < 360) {
viewer.camera.setView({
destination: that.DC.Namespace.Cesium.Cartesian3.fromRadians(
viewer.camera.positionCartographic.longitude,
@@ -423,6 +427,78 @@
}
}
};
+ //滚轮事件
+ // 指示器
+ 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);
+ }
+ }
+ }
+ }
+ }
+ });
};
// 地图点击事件
@@ -781,7 +857,7 @@
};
that.dimension == "2.5D"
? doit2(
- [114.03928791, 27.62954732, 220.0],
+ [114.03928791, 27.62954732, 200.0],
// [114.04062292, 27.62666834, 220.0],
[
that.dimensionData.heading,
@@ -991,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