From 5178a8e85f1a544cbd255f01fae1905e40112228 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期三, 28 六月 2023 16:47:34 +0800
Subject: [PATCH] 1

---
 ExportMap/UE.html |  277 ++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 190 insertions(+), 87 deletions(-)

diff --git a/ExportMap/UE.html b/ExportMap/UE.html
index 498e4f4..5ef47f0 100644
--- a/ExportMap/UE.html
+++ b/ExportMap/UE.html
@@ -61,11 +61,14 @@
 
     // 鍧愭爣杞寲
     function transform() {
-      var coordinate = { x: 117.038112825, y: 39.382696649 }
+      var coordinate = {
+        "x": 117.04046434254622,
+        "y": 39.722702758997606,
+        "z": 0
+      }
       var Wgs84ToLocal = map.transformWGS84ToLocal(coordinate.x, coordinate.y)
       console.log('Wgs84ToLocal', Wgs84ToLocal)
-
-      var LocalToWGS84 = map.transformLocalToWGS84(Wgs84ToLocal.x, coordinate.y)
+      var LocalToWGS84 = map.transformLocalToWGS84(Wgs84ToLocal.x, Wgs84ToLocal.y)
       console.log('LocalToWGS84', LocalToWGS84)
     }
 
@@ -79,131 +82,223 @@
 
     // 椋炶
     function flyTo() {
-      var x = 117.038112825, y = 39.382696649, z = 5000;
+
+
+      const v = {
+        z: 0,
+        pitch: -8.675049781799316,
+        roll: 0,
+        yaw: 60.92010498046875,
+        distance: 120112.3671875,
+        time: 3
+      };
+      var x = 116.48915493897739; y = 39.81061022857503; z = 5000;
+      var LocalToWGS84 = transToWGS84ToLocal(x, y)
+
       var roll = 0, pitch = 0, yaw = 0, distance = 1000;
       var callBack = function () { console.log("flyTo"); }
       var time = 3; // 3s
 
-      map.flyTo(x, y, z, roll, pitch, yaw, distance, callBack, time);
+      map.flyTo(LocalToWGS84.x, LocalToWGS84.y, v.z, v.roll, v.pitch, v.yaw, v.distance, callBack, time);
     }
+
+    function transToWGS84ToLocal(x, y) {
+      return map.transformWGS84ToLocal(x, y)
+    }
+
+
 
     // 鍒囨崲闀滃ご
     function setView() {
-      var x = 117.038112825, y = 39.382696649, z = 5000;
-      var roll = 0, pitch = 0, yaw = 0, distance = 1000;
-
-      map.setView(x, y, z, roll, pitch, yaw, distance);
+      const v = {
+        x: -567870.625,
+        y: -964962.4375,
+        z: 0,
+        pitch: -8.675049781799316,
+        roll: 0,
+        yaw: 120.92010498046875,
+        distance: 120112.3671875,
+        time: 3
+      };
+      map.setView(v.x, v.y, v.z, v.roll, v.pitch, v.yaw, v.distance);
     }
 
     // 鏃堕棿鐗规晥
+    var timeFlag = true;
     function setTime() {
       // morning-鏃╂櫒,noon-涓崍,evening-鍌嶆櫄,night-澶滄櫄,darkWorld-鏆楄壊鍦烘櫙,12
-      map.setTime("evening");
+      if (timeFlag) {
+        map.setTime("evening");
+      } else {
+        map.setTime("noon");
+      }
+      timeFlag = !timeFlag
     }
 
     // 鏂囧瓧鏍囩
+    var labelFlag = true;
+    var label_val = null;
     function createLabel() {
-      var options = {
-        id: 1, // 鍞竴鏍囪瘑锛屼笉鍙噸澶嶏紝鍙笉濉�
-        x: 1000, // x杞磚e4鍧愭爣
-        y: 1000, // y杞磚e4鍧愭爣
-        z: 0, // z杞磚e4鍧愭爣
-        size: { width: 480, height: 180 }, // label鐨勫ぇ灏�
-        text: '娴嬭瘯鏂囧瓧', // 鏄剧ず鐨勬枃瀛�
-        scale: 0.5, // 缂╂斁
-        type: 'Type1', // 绫诲瀷 Default,Type1,Type2
-        backgroundColor: "#ffffff", // 鑳屾櫙鑹叉敮鎸乺gba
-        fillColor: "#00ff00", // 鏂囧瓧棰滆壊 
-        visibility: true // 榛樿鏄惁鏄剧ず
-      };
+      var x = 116.48915493897739; y = 39.81061022857503; z = 5000;
+      var LocalToWGS84 = transToWGS84ToLocal(x, y)
+      if (labelFlag) {
+        var options = {
+          id: 1, // 鍞竴鏍囪瘑锛屼笉鍙噸澶嶏紝鍙笉濉�
+          x: LocalToWGS84.x, // x杞磚e4鍧愭爣
+          y: LocalToWGS84.y, // y杞磚e4鍧愭爣
+          z: 0, // z杞磚e4鍧愭爣
+          size: { width: 100, height: 100 }, // label鐨勫ぇ灏�
+          text: '娴嬭瘯鏂囧瓧', // 鏄剧ず鐨勬枃瀛�
+          scale: 0.5, // 缂╂斁
+          type: 'Type1', // 绫诲瀷 Default,Type1,Type2
+          backgroundColor: "#ffffff", // 鑳屾櫙鑹叉敮鎸乺gba
+          fillColor: "#00ff00", // 鏂囧瓧棰滆壊 
+          visibility: true // 榛樿鏄惁鏄剧ず
+        };
 
-      var lbl = map.createLabel(options);
-      // lbl.show(true); // 鏄剧ず
+        label_val = map.createLabel(options);
+      } else {
+        label_val.removeFromMap();
+        label_val = null;
+      }
+      labelFlag = !labelFlag;
     }
 
     // POI鐐�
+    var poiFlag = true;
+    var poi_val = null;
     function createBillboard() {
-      var param = {
-        x: 1000, // x杞磚e4鍧愭爣
-        y: 1000, // y杞磚e4鍧愭爣
-        z: 0, // z杞磚e4鍧愭爣
-        image: "123.png", // 鍥剧墖鍦板潃
-        scale: 0.5, // 缂╂斁姣斾緥
-        clickedScale: 0.7, // 鐐瑰嚮鍚庢瘮渚�
-        visibility: true, // 榛樿鏄惁鏄剧ず
-        alertWindow: { // 鍙�夛紝鐐瑰嚮寮圭獥
-          url: "http://192.168.20.89:12306/popupThree.html", // 寮圭獥鍦板潃
-          size: new TUVector2(180, 90), // 寮圭獥澶у皬
-          offset: new TUVector2(90, -90) // 寮圭獥浣嶇疆锛屽彸锛歺姝o紝涓嬶細y姝�
+      var x = 116.48815493897739; y = 39.81061022857503; z = 5000;
+      var LocalToWGS84 = transToWGS84ToLocal(x, y)
+      if (poiFlag) {
+        var param = {
+          x: LocalToWGS84.x, // x杞磚e4鍧愭爣
+          y: LocalToWGS84.y, // y杞磚e4鍧愭爣
+          z: 0, // z杞磚e4鍧愭爣
+          image: "123.png", // 鍥剧墖鍦板潃
+          scale: 0.5, // 缂╂斁姣斾緥
+          clickedScale: 0.7, // 鐐瑰嚮鍚庢瘮渚�
+          visibility: true, // 榛樿鏄惁鏄剧ず
+          alertWindow: { // 鍙�夛紝鐐瑰嚮寮圭獥
+            url: "http://192.168.20.89:12306/popupThree.html", // 寮圭獥鍦板潃
+            size: new TUVector2(180, 90), // 寮圭獥澶у皬
+            offset: new TUVector2(-45, -110) // 寮圭獥浣嶇疆锛屽彸锛歺姝o紝涓嬶細y姝�
+          }
         }
+        poi_val = map.createBillboard(param);
+        poi_val.show(true); // 鏄剧ず
+      } else {
+        poi_val.removeFromMap();
+        poi_val = null;
       }
+      poiFlag = !poiFlag;
 
-      var poi = map.createBillboard(param);
-      poi.show(true); // 鏄剧ず
-      // poi.show(false); // 闅愯棌
-      // poi.removeFromMap(); //  绉婚櫎
     }
 
     // 3DPOI鐐�
+    var thPoiFlag = true;
+    var poi_3d_val = null
     function create3DBillboard() {
-      var testPoints = [{ "x": 10000, "y": 10000, "z": 4000 }];
-      var points = [];
-      testPoints.forEach(function (item) {
-        points.push({
-          x: item.x,
-          y: item.y,
-          z: item.z,
-          image: "123.png",
-          text: "",
-          scale: 120,
-          clickedScale: 1,
-          flash: false,
-          canClick: true
+      if (thPoiFlag) {
+        var testPoints = [{ x: 116.49255493897739, y: 39.81451022857503, z: 4000 }];
+        var points = [];
+        testPoints.forEach(function (item) {
+          var LocalToWGS84 = transToWGS84ToLocal(item.x, item.y)
+          points.push({
+            x: LocalToWGS84.x,
+            y: LocalToWGS84.y,
+            z: item.z,
+            image: "123.png",
+            text: "",
+            scale: 80,
+            clickedScale: 1,
+            flash: false,
+            canClick: true
+          });
         });
-      });
 
-      var pois = map.create3DBillboard(points);
-      pois.forEach(function (poi) {
-        poi.show(true);
-        // poi.show(false); // 闅愯棌
-        // poi.removeFromMap(); // 绉婚櫎
-      });
+        poi_3d_val = map.create3DBillboard(points);
+        poi_3d_val.forEach(function (poi) {
+          poi.show(true);
+
+        });
+      } else {
+        poi_3d_val.forEach(function (poi) {
+          poi.removeFromMap();
+        });
+        poi_3d_val = null
+      }
+      thPoiFlag = !thPoiFlag;
     }
 
-    // 娣诲姞鍖哄煙
+    // 娣诲姞鍖哄煙\
+    var areaFlag = true;
+    var area_val = null;
     function createAreaData() {
-      var obj = map.createAreaData({
-        id: "fdfdfdfdfd",
-        data: [
-          new TUVector3(0, 0, 0),
-          new TUVector3(10000, 0, 0),
-          new TUVector3(10000, 10000, 0),
-          new TUVector3(0, 10000, 0)
+      if (areaFlag) {
+
+
+        var val = [
+          { x: 116.48855493897739, y: 39.81251022857503, z: 4000 },
+          { x: 116.48505493897739, y: 39.81651022857503, z: 4000 },
+          { x: 116.48905493897739, y: 39.81851022857503, z: 4000 },
+          { x: 116.49255493897739, y: 39.81451022857503, z: 4000 },
+
+          { x: 116.48855493897739, y: 39.81251022857503, z: 4000 },
         ]
-      });
-      // obj.removeFromMap(); // 绉婚櫎
+        var data = [];
+        for (var i in val) {
+          var item = transToWGS84ToLocal(val[i].x, val[i].y)
+          data.push(
+            new TUVector3(item.x, item.y, 0),
+          )
+        }
+        area_val = map.createAreaData({
+          id: "fdfdfdfdfd",
+          data: data
+        });
+      } else {
+        area_val.removeFromMap();
+        area_val = null;
+      }
+      areaFlag = !areaFlag;
     }
 
     // 鍥存爮
+    var boundflag = true;
+    var bound_val = null
     function createAreaBoundary() {
-      var param = {
-        type: 0, // 0涓婃诞妯牸锛�1瀹炶壊锛�2绠ご锛�3涓夎
-        height: 5000, // 榛樿5000
-        color: "#ff0000", // 榛樿鐧借壊
-        brightness: 10, // 榛樿10
-        data: [ // 鍥存爮鐐逛綅鏁扮粍 
-          new TUVector3(0, 0, 0),
-          new TUVector3(100000, 0, 0),
-          new TUVector3(100000, 100000, 0),
-          new TUVector3(0, 100000, 0),
-          new TUVector3(0, 0, 0)
+      if (boundflag) {
+        var val = [
+          { x: 116.48855493897739, y: 39.81251022857503, z: 4000 },
+          { x: 116.48505493897739, y: 39.81651022857503, z: 4000 },
+          { x: 116.48905493897739, y: 39.81851022857503, z: 4000 },
+          { x: 116.49255493897739, y: 39.81451022857503, z: 4000 },
+
+          { x: 116.48855493897739, y: 39.81251022857503, z: 4000 },
         ]
-      };
-      var bound = map.createAreaBoundary(param);
+        var data = [];
+        for (var i in val) {
+          var item = transToWGS84ToLocal(val[i].x, val[i].y)
+          data.push(
+            new TUVector3(item.x, item.y, 0),
+          )
+        }
+        var param = {
+          type: 0, // 0涓婃诞妯牸锛�1瀹炶壊锛�2绠ご锛�3涓夎
+          height: 5000, // 榛樿5000
+          color: "#ff0000", // 榛樿鐧借壊
+          brightness: 10, // 榛樿10
+          data: data
+        };
+        bound_val = map.createAreaBoundary(param);
 
-      map.focusOn(new TUVector3(739, 303, 1040), new TURotator(0, -73, 147), 107737);
 
-      // bound.removeFromMap(); // 绉婚櫎
+      } else {
+        bound_val.removeFromMap();
+        bound_val = null;
+      }
+      boundflag = !boundflag;
     }
 
     // 鎷惧彇鍧愭爣
@@ -222,7 +317,15 @@
     // 娓呴櫎
     function objclear() {
       map.clearAllCovering();
-      map.setTime("noon"); // map.resetTime();
+      map.setTime("noon");
+      boundflag = true;
+      bound_val = null
+      areaFlag = true;
+      area_val = null;
+      thPoiFlag = true;
+      poi_3d_val = null;
+      poiFlag = true;
+      poi_val = null;
     }
 
   </script>

--
Gitblit v1.9.3