管道基础大数据平台系统开发-【CS】-ExportMap
1
13693261870
2023-06-27 d3da54b15bd7d658d5fcb778bdd3a3e6c4fcf2af
1
已添加1个文件
已修改1个文件
393 ■■■■ 文件已修改
ExportMap/UE.html 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ExportMap/UE2.html 330 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ExportMap/UE.html
@@ -95,12 +95,6 @@
      map.setView(x, y, z, roll, pitch, yaw, distance);
    }
    // å¤©æ°”特效
    function setWeather() {
      // sun-晴天 ,rain-雨天,snow-雪天
      map.setWeather('rain') // æ™´å¤©
    }
    // æ—¶é—´ç‰¹æ•ˆ
    function setTime() {
      // morning-早晨,noon-中午,evening-傍晚,night-夜晚,darkWorld-暗色场景
@@ -182,34 +176,6 @@
      });
    }
    // æ·»åŠ çº¿è·¯
    function createPolyline() {
      var testPoints = [
        new TUVector3(77053.6953125, 150984.859375, 0),
        new TUVector3(16167.91015625, 151470.453125, 0),
        new TUVector3(14827.0908203125, 100942.328125, 0),
        new TUVector3(71444.015625, 104834.4375, 0),
        new TUVector3(67891.890625, 57269.85546875, 0),
        new TUVector3(13084.04296875, 56401.7734375, 0),
        new TUVector3(11550.640625, -13705.76953125, 0),
        new TUVector3(7773.74560546875, -103738.140625, 0),
      ];
      //绘制路径
      var pathObj = map.createPolyline({
        data: testPoints,
        pathWidth: 3000,
        type: 0,//0高亮线 1三角 2箭头
        pathColor: "cyan",
      });
      var roll = 0, pitch = -45, yaw = 0, distance = 1000;
      var callBack = function () { console.log("flyTo"); }
      var time = 3; // 3s
      map.flyTo(116.51446997, 39.772785555, 1000, roll, pitch, yaw, distance, callBack, time);
    }
    // æ·»åŠ åŒºåŸŸ
    function createAreaData() {
      var obj = map.createAreaData({
@@ -256,30 +222,6 @@
      // bound.removeFromMap(); // ç§»é™¤
    }
    // é«˜åº¦é‡æµ‹
    function getMeasureHeight() {
      var obj = map.getMeasureHeight(function (e) { // å›žè°ƒ
        alert(JSON.stringify(e));
        obj.deleteObject(); // ç§»é™¤
      });
    }
    // æŠ˜çº¿è·ç¦»é‡æµ‹
    function getDistanceHorizontal() {
      var obj = map.getDistanceHorizontal(function (e) { // å›žè°ƒ
        alert(JSON.stringify(e));
        obj.deleteObject(); // ç§»é™¤
      });
    }
    // å¹³é¢é¢ç§¯é‡æµ‹
    function getPlaneArea() {
      var obj = map.getPlaneArea(function (e) { // å›žè°ƒ
        alert(JSON.stringify(e));
        obj.deleteObject(); // ç§»é™¤
      });
    }
    // æ‹¾å–坐标
    function pickPosition() {
      var obj = map.transformLocalToWGS84(map.camera.location.x, map.camera.location.y);
@@ -309,18 +251,13 @@
    <button onclick="getCamera();">获取镜头信息</button>
    <button onclick="flyTo();">飞行</button>
    <button onclick="setView();">切换镜头</button>
    <!-- <button onclick="setWeather();">天气特效</button> -->
    <button onclick="setTime();">时间特效</button>
    <button onclick="createLabel();">文字标签</button>
    <button onclick="createBillboard();">POI点</button>
    <button onclick="create3DBillboard();">3DPOI点</button>
    <!-- <button onclick="createPolyline();">添加线路</button> -->
    <button onclick="createAreaData();">添加区域</button>
    <button onclick="createCircleArea();">光圈</button>
    <button onclick="createAreaBoundary();">围栏</button>
    <!-- <button onclick="getMeasureHeight();">高度量测</button>
    <button onclick="getDistanceHorizontal();">折线距离量测</button>
    <button onclick="getPlaneArea();">平面面积量测</button> -->
    <button onclick="pickPosition();">获取镜头坐标</button>
    <button onclick="pickObject();">拾取对象</button>
    <button onclick="objclear();">清除</button>
ExportMap/UE2.html
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,330 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>UE接口测试</title>
  <meta http-equiv="Expires" content="0" />
  <meta http-equiv="Cache" content="no-cache" />
  <meta http-equiv="Pragma" content="no-cache" />
  <meta http-equiv="Cache-control" content="no-cache" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <script src="js/tumap.js"></script>
  <style>
    html,
    body {
      width: 100%;
      height: 100%;
      padding: 0;
      margin: 0;
      overflow: hidden;
      font-size: 13px;
      font-family: å¾®è½¯é›…黑;
    }
    #map {
      width: 100%;
      height: 100%;
      position: absolute;
    }
    #container {
      position: absolute;
      top: 10px;
      left: 10px;
      padding: 5px;
      border-radius: 4px;
      border: 1px solid rgba(128, 128, 128, 0.5);
      color: #ffffff;
    }
    button {
      background: transparent;
      border: 1px solid #d0ffb8;
      color: white;
      border-radius: 2px;
      margin: 3px;
      cursor: pointer;
    }
  </style>
  <script>
    window.onload = function () {
      window.map = new TUMap({
        id: 'map', // div的id
        url: 'http://192.168.20.39:91', // UE服务地址
        //url: 'http://103.85.165.99:91',
        onInit: function () { // åˆå§‹åŒ–完成事件
          console.log("初始化完成");
        }
      })
    }
    // åæ ‡è½¬åŒ–
    function transform() {
      var coordinate = { x: 117.038112825, y: 39.382696649 }
      var Wgs84ToLocal = map.transformWGS84ToLocal(coordinate.x, coordinate.y)
      console.log('Wgs84ToLocal', Wgs84ToLocal)
      var LocalToWGS84 = map.transformLocalToWGS84(Wgs84ToLocal.x, coordinate.y)
      console.log('LocalToWGS84', LocalToWGS84)
    }
    // èŽ·å–é•œå¤´ä¿¡æ¯
    function getCamera() {
      var location = map.camera.location; // ä½ç½®ä¿¡æ¯
      var rotation = map.camera.rotation; // è§’度信息
      var distance = map.camera.distance; // è·ç¦»ä¿¡æ¯
      console.log(location, rotation, distance);
    }
    // é£žè¡Œ
    function flyTo() {
      var x = 117.038112825, y = 39.382696649, z = 5000;
      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);
    }
    // åˆ‡æ¢é•œå¤´
    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);
    }
    // å¤©æ°”特效
    function setWeather() {
      // sun-晴天 ,rain-雨天,snow-雪天
      map.setWeather('rain') // æ™´å¤©
    }
    // æ—¶é—´ç‰¹æ•ˆ
    function setTime() {
      // morning-早晨,noon-中午,evening-傍晚,night-夜晚,darkWorld-暗色场景
      map.setTime("evening");
    }
    // æ–‡å­—标签
    function createLabel() {
      var options = {
        id: 1, // å”¯ä¸€æ ‡è¯†ï¼Œä¸å¯é‡å¤ï¼Œå¯ä¸å¡«
        x: 1000, // xè½´ue4坐标
        y: 1000, // yè½´ue4坐标
        z: 0, // zè½´ue4坐标
        size: { width: 480, height: 180 }, // label的大小
        text: '测试文字', // æ˜¾ç¤ºçš„æ–‡å­—
        scale: 1, // ç¼©æ”¾
        type: 'Type1', // ç±»åž‹ Default,Type1,Type2
        backgroundColor: "#ffffff", // èƒŒæ™¯è‰²æ”¯æŒrgba
        fillColor: "#00ff00", // æ–‡å­—颜色
        visibility: true // é»˜è®¤æ˜¯å¦æ˜¾ç¤º
      };
      var lbl = map.createLabel(options);
      // lbl.show(true); // æ˜¾ç¤º
    }
    // POI点
    function createBillboard() {
      var param = {
        x: 1000, // xè½´ue4坐标
        y: 1000, // yè½´ue4坐标
        z: 0, // zè½´ue4坐标
        image: "http://www.terra-it.cn/images/tubiao/indexLogo.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(50, -100) // å¼¹çª—位置,右:x正,下:yæ­£
        }
      }
      var poi = map.createBillboard(param);
      poi.show(true); // æ˜¾ç¤º
      var enable = true; // æ˜¯/否开启回调
      poi.EnableBillboardCallBack(enable, function (data) {
        console.info(data);
      });
      // poi.show(false); // éšè—
      // poi.removeFromMap(); //  ç§»é™¤
    }
    // 3DPOI点
    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: "http://www.terra-it.cn/images/tubiao/indexLogo.png",
          text: "",
          scale: 20,
          clickedScale: 1,
          flash: false,
          canClick: true
        });
      });
      var pois = map.create3DBillboard(points);
      pois.forEach(function (poi) {
        poi.show(true);
        // poi.show(false); // éšè—
        // poi.removeFromMap(); // ç§»é™¤
      });
    }
    // æ·»åŠ çº¿è·¯
    function createPolyline() {
      var testPoints = [
        new TUVector3(77053.6953125, 150984.859375, 0),
        new TUVector3(16167.91015625, 151470.453125, 0),
        new TUVector3(14827.0908203125, 100942.328125, 0),
        new TUVector3(71444.015625, 104834.4375, 0),
        new TUVector3(67891.890625, 57269.85546875, 0),
        new TUVector3(13084.04296875, 56401.7734375, 0),
        new TUVector3(11550.640625, -13705.76953125, 0),
        new TUVector3(7773.74560546875, -103738.140625, 0),
      ];
      //绘制路径
      var pathObj = map.createPolyline({
        data: testPoints,
        pathWidth: 3000,
        type: 0,//0高亮线 1三角 2箭头
        pathColor: "cyan",
      });
      var roll = 0, pitch = -45, yaw = 0, distance = 1000;
      var callBack = function () { console.log("flyTo"); }
      var time = 3; // 3s
      map.flyTo(116.51446997, 39.772785555, 1000, roll, pitch, yaw, distance, callBack, time);
    }
    // æ·»åŠ åŒºåŸŸ
    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)
        ]
      });
      // obj.removeFromMap(); // ç§»é™¤
    }
    // å…‰åœˆ
    function createCircleArea() {
      var param = {
        location: new TUVector3(0, 0, 0), // ä¸­å¿ƒç‚¹
        radius: 15000,
        type: 2, // 0上浮横格,1实色,2箭头,3三角
        color: "#ff0000",
        height: 15000, // é»˜è®¤5000
        brightness: 10 // é»˜è®¤10
      }
      var circle = map.createCircleArea(param);
      // circle.removeFromMap(); // ç§»é™¤
    }
    // å›´æ 
    function createAreaBoundary() {
      var param = {
        type: 0, // 0上浮横格,1实色,2箭头,3三角
        height: 5000, // é»˜è®¤5000
        color: "#ff0000", // é»˜è®¤ç™½è‰²
        brightness: 10, // é»˜è®¤10
        data: [ // å›´æ ç‚¹ä½æ•°ç»„
          new TUVector3(-129.99, -7.41, 0),
          new TUVector3(-131.00, -134.96, 0),
          new TUVector3(113.83, -128.26, 0),
          new TUVector3(123.84, -550.99, 0)
        ]
      }
      var bound = map.createAreaBoundary(param);
      // bound.removeFromMap(); // ç§»é™¤
    }
    // é«˜åº¦é‡æµ‹
    function getMeasureHeight() {
      var obj = map.getMeasureHeight(function (e) { // å›žè°ƒ
        alert(JSON.stringify(e));
        obj.deleteObject(); // ç§»é™¤
      });
    }
    // æŠ˜çº¿è·ç¦»é‡æµ‹
    function getDistanceHorizontal() {
      var obj = map.getDistanceHorizontal(function (e) { // å›žè°ƒ
        alert(JSON.stringify(e));
        obj.deleteObject(); // ç§»é™¤
      });
    }
    // å¹³é¢é¢ç§¯é‡æµ‹
    function getPlaneArea() {
      var obj = map.getPlaneArea(function (e) { // å›žè°ƒ
        alert(JSON.stringify(e));
        obj.deleteObject(); // ç§»é™¤
      });
    }
    // æ‹¾å–坐标
    function pickPosition() {
      var obj = map.transformLocalToWGS84(map.camera.location.x, map.camera.location.y);
      alert(JSON.stringify(obj));
    }
    // æ‹¾å–对象
    function pickObject() {
      map.pickPosition(function (e) {
        alert(JSON.stringify(e))
      });
    }
    // æ¸…除
    function objclear() {
      map.clearAllCovering();
    }
  </script>
</head>
<body>
  <div id="map"></div>
  <div id="container">
    <button onclick="transform();">坐标转换</button>
    <button onclick="getCamera();">获取镜头信息</button>
    <button onclick="flyTo();">飞行</button>
    <button onclick="setView();">切换镜头</button>
    <!-- <button onclick="setWeather();">天气特效</button> -->
    <button onclick="setTime();">时间特效</button>
    <button onclick="createLabel();">文字标签</button>
    <button onclick="createBillboard();">POI点</button>
    <button onclick="create3DBillboard();">3DPOI点</button>
    <!-- <button onclick="createPolyline();">添加线路</button> -->
    <button onclick="createAreaData();">添加区域</button>
    <button onclick="createCircleArea();">光圈</button>
    <button onclick="createAreaBoundary();">围栏</button>
    <!-- <button onclick="getMeasureHeight();">高度量测</button>
    <button onclick="getDistanceHorizontal();">折线距离量测</button>
    <button onclick="getPlaneArea();">平面面积量测</button> -->
    <button onclick="pickPosition();">获取镜头坐标</button>
    <button onclick="pickObject();">拾取对象</button>
    <button onclick="objclear();">清除</button>
  </div>
</body>
</html>