bill 4 anni fa
parent
commit
b6def4952a
5 ha cambiato i file con 450 aggiunte e 110 eliminazioni
  1. 44 0
      css/lzb.css
  2. 188 106
      edit.html
  3. 85 4
      js/edit.js
  4. 132 0
      js/loadCAD.js
  5. 1 0
      js/main_2020_edit.js

+ 44 - 0
css/lzb.css

@@ -1732,4 +1732,48 @@ ul.MenuOptions li.chosen {
 }
 #userUploadStyle  .upload.uploaded:hover .del{
     display:block; 
+}
+
+
+.cad-setting {
+    text-align: left;
+}
+/* 
+.cad-setting li {
+    display: flex;
+    align-items: center;
+}
+
+.cad-setting li label {
+    flex: none;
+    width: 65px;
+    text-align: right;
+    margin-right: 5px;
+}
+
+.cad-setting li select,
+.cad-setting li input {
+    flex: 1;
+    margin: 0 10px;
+    padding-left: 0;
+    padding-right: 0;
+    outline: none;
+    border: 1px solid #737373;
+    background-color: #000;
+    color: #fff;
+}
+.cad-setting li input {
+    height: 30px;
+} */
+
+.cad-size {
+    width: 100%;
+    border: 1px solid #737373;
+    background-color: #000;
+    outline: none;
+    height: 32px;
+    padding: 0 10px;
+    color: #fff;
+    letter-spacing: 1px;
+    border-radius: 2px;
 }

+ 188 - 106
edit.html

@@ -24,7 +24,7 @@
         }
         if (number.indexOf("#") != -1) {
             number = number.substring(0, number.indexOf("#"));
-        } 
+        }
     </script>
     <script class="build keep">
         // Safari and Android does not support performance.timing.navigationStart :(
@@ -36,9 +36,9 @@
     </script>
 </head>
 
-<body> 
+<body>
     <div class="wrapper">
-        <div class="waiting"> 
+        <div class="waiting">
             <div class="overlay"></div>
             <div class="spinner">
                 <div class="bounce1"></div>
@@ -46,7 +46,7 @@
                 <div class="bounce3"></div>
             </div>
             <div class="text">请等待...</div>
-        </div> 
+        </div>
         <div class="toolTop hasPad unable">
             <!-- 顶部header -->
             <div class="btns"></div>
@@ -88,11 +88,15 @@
                     <li data-name="overlay">
                         <span class="overlay"></span>
                         <label>展览</label>
-                    </li> 
+                    </li>
                     <li data-name="panoVisible">
                         <span class="panoVisible"></span>
                         <label>漫游可行</label>
                     </li>
+                    <li data-name="cadMap">
+                        <span class="panoVisible"></span>
+                        <label>小地图</label>
+                    </li>
                 </ul>
             </div>
             <div class="toolMid">
@@ -100,7 +104,7 @@
                     <!-- 画布区域 -->
                     <div class="webgl-inside">
                         <div class="content">
-                            <div id="hot"> 
+                            <div id="hot">
                             </div>
                             <div id="popup">
                                 <div class="popup-content">
@@ -123,7 +127,7 @@
                                 </div>
                                 <div id="gui-loading" class="message-outer darkGlass" style="display: none;">
                                     <h2 class="model-title"></h2>
-                                    <div class="message-inner"> 
+                                    <div class="message-inner">
                                         <div class="progressbar" data-perc="100">
                                             <div class="label">
                                                 <div class="perc">0%</div>
@@ -888,9 +892,9 @@
                     </div>
                 </div>
                 <div class="midBottom hasPad">
-                    <!-- 中间下部 --> 
+                    <!-- 中间下部 -->
                     <div class="confirmSnap innerBtn hide" id="camera-start">点此设置为初始画面</div>
-                    <!--  <div class="innerBtn hide cancel" data-lang="">隐藏该点</div>  -->	
+                    <!--  <div class="innerBtn hide cancel" data-lang="">隐藏该点</div>  -->
                 </div>
             </div>
             <div class="toolRight">
@@ -965,7 +969,8 @@
                                     </div>
                                     <ul>
                                         <li>
-                                            <input name="isSprite" class="editCheckbox" type="checkbox" value="isSprite" id="isSprite">
+                                            <input name="isSprite" class="editCheckbox" type="checkbox" value="isSprite"
+                                                id="isSprite">
                                             <label for="isSprite"></label>
                                             <label for="isSprite">恒朝向相机 </label>
                                         </li>
@@ -975,19 +980,23 @@
                                         <!-- <li class="halfCell" index="scale" data-lang="">缩放</li> -->
                                         <li class="halfCell" index="rotate" data-lang="">旋转</li>
                                     </ul>
-                                </li>  
+                                </li>
                                 <li class="style">
                                     <div class="itemTitle">
                                         <span>样式</span>
                                     </div>
                                     <ul class="MenuOptions innerBtn">
                                         <li class="halfCell chosen" index="default">默认</li>
-                                        <li class="halfCell" index="user" >自定义</li> 
+                                        <li class="halfCell" index="user">自定义</li>
                                     </ul>
                                     <div id="userUploadStyle" class="hide">
                                         <ul>
-                                            <li class="upload "><div> </div><a class="del"></a></li>
-                                            <li class="upload hide"><div> </div><a class="del"></a></li>
+                                            <li class="upload ">
+                                                <div> </div><a class="del"></a>
+                                            </li>
+                                            <li class="upload hide">
+                                                <div> </div><a class="del"></a>
+                                            </li>
                                         </ul>
                                     </div>
                                 </li>
@@ -1055,7 +1064,7 @@
                                     <div class="itemTitle">
                                         <span>添加网页</span>
                                     </div>
-                                     
+
                                     <!-- <ul>
                                         <li>
                                             <input name="linkOutside" class="editCheckbox" type="checkbox" value="linkOutside" id="linkOutside"></input>
@@ -1063,14 +1072,14 @@
                                             <label for="linkOutside">在新窗口打开(其他内容将失效) </label>
                                         </li>
                                     </ul>   
-                                    --> 
+                                    -->
 
                                     <ul class="MenuOptions innerBtn" name="linkType">
                                         <li class="halfCell chosen" index="common" data-lang="">普通</li>
                                         <li class="halfCell" index="jumpLink" data-lang="">跳转</li>
                                         <li class="halfCell" index="iframeDiv" data-lang="">iframe</li>
-                                    </ul> 
-                                    <label class="remark">方式1须https, 方式2、3  除当前第一个链接外,其他内容将不展现。</label>
+                                    </ul>
+                                    <label class="remark">方式1须https, 方式2、3 除当前第一个链接外,其他内容将不展现。</label>
                                     <div class="list"></div>
                                     <div class="linkBtns">
                                         <div class="buttons">
@@ -1085,11 +1094,12 @@
                                     </div>
                                     <ul>
                                         <li>
-                                            <input name="noAction" class="editCheckbox" type="checkbox" value="noAction" id="noAction">
+                                            <input name="noAction" class="editCheckbox" type="checkbox" value="noAction"
+                                                id="noAction">
                                             <label for="noAction"></label>
                                             <label for="noAction">仅用于指示(不弹窗)</label>
                                         </li>
-                                    </ul> 
+                                    </ul>
                                 </li>
                             </ul>
                         </div>
@@ -1112,6 +1122,70 @@
                         </li>
                     </ul>
                 </div>
+                <div class="cadMap content hide">
+                    <ul>
+                        <li data-name="other">
+                            <ul class="other-item">
+                                <li>
+                                    <input name="show-cad" class="editCheckbox" type="checkbox">
+                                    <label for="show-cad"></label>
+                                    <label for="show-cad">开启小地图 </label>
+                                </li>
+                            </ul>
+                        </li>
+                        
+                        <li data-name="floorMarkerColor">
+                            <div class="itemTitle">
+                                <span>线条粗细</span>
+                            </div>
+                            <ul class="clearfix hotStyle-item colorWrap">
+                                <select class="cad-size" id="cad-size">
+                                    <option value="0.01">1px</option>
+                                    <option value="0.02">2px</option>
+                                    <option value="0.03">3px</option>
+                                    <option value="0.04">4px</option>
+                                    <option value="0.05">5px</option>
+                                    <option value="0.06">6px</option>
+                                </select>
+                            </ul>
+                        </li>
+                        <li data-name="floorMarkerColor">
+                            <div class="itemTitle">
+                                <span>线条颜色</span>
+                            </div>
+                            <ul class="clearfix hotStyle-item colorWrap">
+                                <input id="cadBorderColorTex" class="color-text" type="text" placeholder="请输入颜色" />
+                                <input id="cadBorderColor" type="color" />
+                            </ul>
+                        </li>
+                        <li data-name="MouseMarkerColor">
+                            <div class="itemTitle">
+                                <span>相机颜色</span>
+                            </div>
+                            <ul class="clearfix hotStyle-item colorWrap">
+                                <input id="cadSignColorTex" class="color-text" type="text" placeholder="请输入颜色" />
+                                <input id="cadSignColor" type="color" />
+                            </ul>
+                        </li>
+                        <!-- <ul class="cad-setting">
+                                <li>
+                                    <label for="">线宽</label>
+                                    <select name="" id="">
+                                        <option value="1">1px</option>
+                                        <option value="2">2px</option>
+                                        <option value="3">3px</option>
+                                        <option value="4">4px</option>
+                                        <option value="5">5px</option>
+                                    </select>
+                                </li>
+                                <li>
+                                    <label for="">相机颜色</label>
+                                    <input type="color" name="" id="">
+                                </li>
+                            </ul> -->
+                        </li>
+                    </ul>
+                </div>
                 <div class="information content">
                     <ul>
                         <li data-name="title">
@@ -1124,21 +1198,23 @@
                             <!-- <div class="unComplete">请填写项目名称</div> -->
                         </li>
                         <li data-name="description">
-                            <div class="itemTitle" data-size="200" id="project-intro2" >
+                            <div class="itemTitle" data-size="200" id="project-intro2">
                                 <span>简介内容</span>
                             </div>
 
-                            <textarea placeholder="大场景的简介" id="info-summary" class="editText" maxlength="200"></textarea>
+                            <textarea placeholder="大场景的简介" id="info-summary" class="editText"
+                                maxlength="200"></textarea>
 
                             <div class="itemTitle" data-size="200" id="project-intro2">
                                 <span>分享文字</span>
                             </div>
 
-                            <textarea placeholder="微信分享的描述" id="weixin-summary" class="editText" maxlength="200"></textarea>
-                            
-                            <div class="itemTitle" data-size="建议图片为正方形" >
+                            <textarea placeholder="微信分享的描述" id="weixin-summary" class="editText"
+                                maxlength="200"></textarea>
+
+                            <div class="itemTitle" data-size="建议图片为正方形">
                                 <span>分享图片</span>
-                            </div> 
+                            </div>
                             <div class="list edit-fun-images clearfix forShareImg"></div>
                             <div class="upload" id="shareImgUpload">
                                 <div data-type="photo">
@@ -1146,7 +1222,7 @@
                                     <div class="buttons">
                                         <button class="submit innerBtn">更改</button>
                                     </div>
-                                    <input type="file" >
+                                    <input type="file">
                                 </div>
                                 <a class="del hasHover"></a>
                             </div>
@@ -1217,7 +1293,7 @@
                                         value="hideMouseMarker" id="hideMouseMarker">
                                     <label for="hideMouseMarker"></label>
                                     <label for="hideMouseMarker">隐藏鼠标标记 </label>
-                                </li> 
+                                </li>
                                 <li>
                                     <input name="g_specialScene" class="editCheckbox" type="checkbox"
                                         value="g_specialScene" id="g_specialScene">
@@ -1233,10 +1309,11 @@
                             </ul>
                             <ul>
                                 <li>
-                                    <label class="remark">注: <br>特殊大场景:一般不勾选,是对某些需要特殊处理的场景设置的。如果勾选了还需要将处理的内容写进SpecialScene.js,否则没有作用。
-                                    <br><br>启动二代数据:和tile贴图有关。</label>
+                                    <label class="remark">注:
+                                        <br>特殊大场景:一般不勾选,是对某些需要特殊处理的场景设置的。如果勾选了还需要将处理的内容写进SpecialScene.js,否则没有作用。
+                                        <br><br>启动二代数据:和tile贴图有关。</label>
                                 </li>
-                            </ul>     
+                            </ul>
                         </li>
                     </ul>
                 </div>
@@ -1321,7 +1398,7 @@
                         </div>
                         <li class="addTour">
                             <div class="buttons begin">
-                                <button class="innerBtn">添加导览</button> 
+                                <button class="innerBtn">添加导览</button>
                             </div>
                         </li>
                         <li data-name="MouseMarkerColor" class="tourSelectWarp">
@@ -1334,7 +1411,7 @@
                                 </label>
                             </ul>
                         </li>
-                        <li class="tourList"> 
+                        <li class="tourList">
                             <ul id="tourListWrap" class="tourListWrap">
 
                             </ul>
@@ -1357,80 +1434,84 @@
                 </div>
                 <div class="wallDesign content hide"></div>
                 <div class="panoVisible content hide">
-                    <ul class="view-setting"><li ><div class="itemTitle"><span>漫游可行</span></div>
-                        <div  class="remark">通过设置漫游可行,进一步优化在漫游时出现的体验;例如,您在漫游时,出现穿透房间的情况。</div>  
-                        <div  class="remark">点击“保存当前设置”后展示页面立即生效。</div>
+                    <ul class="view-setting">
+                        <li>
+                            <div class="itemTitle"><span>漫游可行</span></div>
+                            <div class="remark">通过设置漫游可行,进一步优化在漫游时出现的体验;例如,您在漫游时,出现穿透房间的情况。</div>
+                            <div class="remark">点击“保存当前设置”后展示页面立即生效。</div>
                         </li>
                     </ul>
                 </div>
                 <div class="overlay content hide">
                     <ul>
-						<li class="addBtn"> 
-							<div class="buttons">
-								<button class="innerBtn" data-type = 'video' >添加视频</button>
-                                <button class="innerBtn" data-type = 'photo'>添加图片</button>
-							</div>
-						</li>
-						<li class="overlayList ">
+                        <li class="addBtn">
+                            <div class="buttons">
+                                <button class="innerBtn" data-type='video'>添加视频</button>
+                                <button class="innerBtn" data-type='photo'>添加图片</button>
+                            </div>
+                        </li>
+                        <li class="overlayList ">
                             <div class="itemTitle">
                                 <span>已添加的视频</span>
                             </div>
                             <ul>
-                            
+
                             </ul>
-                        </li> 
-					</ul>                
+                        </li>
+                    </ul>
                 </div>
-                
-				<div id="overlayProp" class="secondary atRight ">
-					<div class="itemTitle head">
-						<span data-lang="">展览属性</span>
-						<a class="close"></a>
-					</div> 
-					<div class="content"> 
-						<ul>   
-							<li id="overlayUpload"> 
-								<div class="itemTitle">
-									<span data-lang="">预览</span>  
-									<div class="buttons" name="upload">
-										<button class="innerBtn" data-lang="">上传视频</button> 
-									</div>
-								</div> 
-								<div class="preview"><span class="text">支持MP4、MOV等,<20M</span> <span attr-type="height"></span><span attr-type="width"></span></div>
-								<div class="buttons" name="useImgRatio">
-									<button class="innerBtn" data-lang="">恢复原始比例</button>
-								</div>
-								<ul class="MenuOptions innerBtn" name="transform">
-									<li class="halfCell chosen" index="translate" data-lang="">位移</li>
-									<li class="halfCell" index="scale" data-lang="">缩放</li>
-									<li class="halfCell" index="rotate" data-lang="">旋转</li>
-								</ul> 
-                                <ul id='setOverlayPosForPano' class="switch clearfix hotStyle-item colorWrap" style="margin-top:20px">
+
+                <div id="overlayProp" class="secondary atRight ">
+                    <div class="itemTitle head">
+                        <span data-lang="">展览属性</span>
+                        <a class="close"></a>
+                    </div>
+                    <div class="content">
+                        <ul>
+                            <li id="overlayUpload">
+                                <div class="itemTitle">
+                                    <span data-lang="">预览</span>
+                                    <div class="buttons" name="upload">
+                                        <button class="innerBtn" data-lang="">上传视频</button>
+                                    </div>
+                                </div>
+                                <div class="preview"><span class="text">支持MP4、MOV等,<20M</span> <span
+                                        attr-type="height"></span><span attr-type="width"></span></div>
+                                <div class="buttons" name="useImgRatio">
+                                    <button class="innerBtn" data-lang="">恢复原始比例</button>
+                                </div>
+                                <ul class="MenuOptions innerBtn" name="transform">
+                                    <li class="halfCell chosen" index="translate" data-lang="">位移</li>
+                                    <li class="halfCell" index="scale" data-lang="">缩放</li>
+                                    <li class="halfCell" index="rotate" data-lang="">旋转</li>
+                                </ul>
+                                <ul id='setOverlayPosForPano' class="switch clearfix hotStyle-item colorWrap"
+                                    style="margin-top:20px">
                                     <label><input class="mui-switch mui-switch-animbg" type="checkbox">
-                                        当前漫游点独立调整 
+                                        当前漫游点独立调整
                                     </label>
-                                    
+
                                 </ul>
                                 <label class="remark">如在其他点位出现错位,请开启此开关,独立调整在特定点位的位移/缩放/旋转。
-                                     </label>
-							</li>
-                            
-                               
-							 
-							<li> 
-								<div class="itemTitle">
-									<span data-lang="">厚度</span>  
-								</div>
-								<div id="videoDepth"></div> 
-							</li>  
-						</ul> 	
-					</div>
-					<div class="buttons tail">
-						<button class="submit innerBtn" data-lang="">完成</button>
-						<button class="delete cancel innerBtn" data-lang="">删除</button>
-					</div>					
-				</div>
-                
+                                </label>
+                            </li>
+
+
+
+                            <li>
+                                <div class="itemTitle">
+                                    <span data-lang="">厚度</span>
+                                </div>
+                                <div id="videoDepth"></div>
+                            </li>
+                        </ul>
+                    </div>
+                    <div class="buttons tail">
+                        <button class="submit innerBtn" data-lang="">完成</button>
+                        <button class="delete cancel innerBtn" data-lang="">删除</button>
+                    </div>
+                </div>
+
             </div>
             <div data-label="video">
                 <div class="fun-view-video">
@@ -1448,19 +1529,19 @@
         </div>
     </div>
 
-    <script> 
-         
+    <script>
+
         //本地:
-        var token ="eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsInJvbGUiOm51bGwsIm1hbmFnZXIiOm51bGwsImlkIjoxLCJ1c2VyTmFtZSI6ImFkbWluIiwiZXhwIjoxNTk3MTA5MDk0LCJpYXQiOjE1OTcwMjI2OTQsImp0aSI6ImY4YzI1MTcyLWM0NmUtNGNmYi04MjRhLWJkMmU2YWRmOWVjZSJ9.kUEmWOCJ0WONTkUI1vTToLePfzgbLiWwhU5nEWIsvlg"
+        var token = "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsInJvbGUiOm51bGwsIm1hbmFnZXIiOm51bGwsImlkIjoxLCJ1c2VyTmFtZSI6ImFkbWluIiwiZXhwIjoxNTk3MTA5MDk0LCJpYXQiOjE1OTcwMjI2OTQsImp0aSI6ImY4YzI1MTcyLWM0NmUtNGNmYi04MjRhLWJkMmU2YWRmOWVjZSJ9.kUEmWOCJ0WONTkUI1vTToLePfzgbLiWwhU5nEWIsvlg"
         var ceshi = 'http://47.107.252.54:8105';
-         /*
-        //大场景: 
-        var ceshi = '';
-        var token = window.localStorage.dcj_token 
-        if (!token) {
-           window.location.href = '../list/index.html'
-        } 
-        */
+        /*
+       //大场景: 
+       var ceshi = '';
+       var token = window.localStorage.dcj_token 
+       if (!token) {
+          window.location.href = '../list/index.html'
+       } 
+       */
         /*
         //军史馆:
         var ceshi = "http://192.168.0.44:8101/"
@@ -1469,10 +1550,10 @@
            window.location.href = "http://192.168.0.44:8101/bigscene/#/"
         }
         */
-        
-        
+
+
         var log = window.location.href.substring(window.location.href.indexOf("?") + 1).indexOf('log') > -1;
-        
+
         if (log) {
             var textarea = document.createElement('textarea');
             textarea.id = "consoleLog";
@@ -1531,6 +1612,7 @@
     <script src="js/overlay.js"></script>
     <script src="js/TransformControls.js"></script>
     <script src="js/main_2020_edit.js"></script>
+    <script src="js/loadCAD.js"></script>
 </body>
 
 </html>

+ 85 - 4
js/edit.js

@@ -211,6 +211,13 @@ EditTools.prototype.initSaveAll = function() {
                 // 热点缩放
                 supportsVR: $('#VRSwitch input').is(':checked'),
                 // 开启VR功能
+
+
+                /**************** 陈志广 小地图可配置项   *********** */
+                cadSignColor: $('#cadSignColor').val(),
+                cadBorderColor: $('#cadBorderColor').val(),
+                cadBorderWidth: $('#cad-size').val(),
+                showCad: $('input[name="show-cad"]').is(':checked'),
             }
 
             var overlayInfo = []
@@ -380,17 +387,18 @@ function initColorElem(data, elem) {
     let $mouseMarkerColor = $('#mouseMarkerColor');
     let $floorMarkerColorTex = $('#floorMarkerColorTex');
     let $mouseMarkerColorTex = $('#mouseMarkerColorTex');
+    let $cadSignColor = $('#cadSignColor');
+    let $cadSignColorTex = $('#cadSignColorTex');
+    let $cadBorderColor = $('#cadBorderColor');
+    let $cadBorderColorTex = $('#cadBorderColorTex');
 
     var colorRe = /^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/;
 
-    // 判断data中是否有存在的颜色值, 否则设置默认值
-    data.floorMarkerColor ? $floorMarkerColor.val(data.floorMarkerColor) : $floorMarkerColor.val('#4bcdfc');
-    data.mouseMarkerColor ? $mouseMarkerColor.val(data.mouseMarkerColor) : $mouseMarkerColor.val('#4bcdfc');
     // 事件监听
     $floorMarkerColor.on('change', function(e) {
         $('#floorMarkerColorTex').attr('placeholder', e.target.value)
-
     })
+
     $floorMarkerColorTex.on('blur keydown', function(e) {
         (e.type === 'blur' || e.type === 'keydown' && e.keyCode === 13) && setColor(e, $floorMarkerColor, this);
     })
@@ -401,6 +409,24 @@ function initColorElem(data, elem) {
     $mouseMarkerColorTex.on('blur keydown', function(e) {
         (e.type === 'blur' || e.type === 'keydown' && e.keyCode === 13) && setColor(e, $mouseMarkerColor, this);
     })
+    
+    // 事件监听
+    $cadSignColor.on('change', function(e) {
+        $('#cadSignColorTex').attr('placeholder', e.target.value)
+    })
+    
+    $cadSignColorTex.on('blur keydown', function(e) {
+        (e.type === 'blur' || e.type === 'keydown' && e.keyCode === 13) && setColor(e, $cadSignColor, this);
+    })
+    
+    // 事件监听
+    $cadBorderColor.on('change', function(e) {
+        $('#cadBorderColorTex').attr('placeholder', e.target.value)
+    })
+    
+    $cadBorderColorTex.on('blur keydown', function(e) {
+        (e.type === 'blur' || e.type === 'keydown' && e.keyCode === 13) && setColor(e, $cadBorderColor, this);
+    })
 
     // 设置颜色值
     function setColor(e, colorElem, inputElem) {
@@ -409,6 +435,61 @@ function initColorElem(data, elem) {
         // isColor ? colorElem.val(e.target.value): (inputElem.placeholder = colorElem.val());
     }
 
+    
+    // 判断data中是否有存在的颜色值, 否则设置默认值
+    data.floorMarkerColor ? $floorMarkerColor.val(data.floorMarkerColor) : $floorMarkerColor.val('#4bcdfc');
+    data.mouseMarkerColor ? $mouseMarkerColor.val(data.mouseMarkerColor) : $mouseMarkerColor.val('#4bcdfc');
+    
+    // 判断data中是否有存在的颜色值, 否则设置默认值
+    data.cadSignColor ? $cadSignColor.val(data.cadSignColor) : $cadSignColor.val('#00c8af');
+    data.cadBorderColor ? $cadBorderColor.val(data.cadBorderColor) : $cadBorderColor.val('#ffffff');
+
+
+    $('input[name="show-cad"]')[0].checked = !!data.showCad
+
+    $('#cad-size > option[value="'+(data.cadBorderWidth ? data.cadBorderWidth : '0.01')+'"]').attr("selected",true);
+
+
+
+}
+
+
+$('input[name="show-cad"]').on('change', function(ev) {
+    if (!ev.target.checked) return;
+    
+    if (!this.floorJSON) {
+        $.ajax({
+            url: '//super.4dage.com/data/'+ window.number +'/floor.json', 
+            method: 'GET',
+            success(res) {
+                this.floorJSON = res
+                loadCAD(this.floorJSON)
+                
+                $('#cadSignColor').on('change', function(ev) {
+                    loadCAD()
+                })
+
+                $('#cadBorderColor').on('change', function(ev) {
+                    loadCAD()
+                })
+
+                $('#cad-size').on('change', function(ev) {
+                    loadCAD()
+                })
+            },
+            error() {
+                alert('当前场景没有小地图floor.json文件,请联系三维部门添加')
+                ev.target.checked = false
+            }
+        })
+    } else {
+        loadCAD(this.floorJSON)
+    }
+})
+
+
+function loadCAD(data) {
+    grendCAD(data, $('#player')[0], $('#cadSignColor').val(), $('#cadBorderColor').val(), $('#cad-size').val())
 }
 
 function addListener() {}

+ 132 - 0
js/loadCAD.js

@@ -0,0 +1,132 @@
+window.grendCAD = (function grendCAD() {
+  let initFloor
+  let initScript
+  let initDOM
+  let point, dire
+
+  window.cad = {
+    setSign: function(p, d) {
+      point = p
+      dire = d
+    }
+  }
+
+  function loadScript(cb) {
+    if (initScript) return cb()
+
+    let $script = document.createElement('script')
+    $script.src = '//www.4dmodel.com/CAD/bundle.js'
+    $script.onload = function() {
+      initScript = true
+      cb()
+    }
+
+    document.documentElement.appendChild($script)
+  }
+
+  function loadDOM($parent) {
+    if (initDOM) return initDOM;
+    let $layer = document.createElement('div')
+    let $cad = document.createElement('div')
+
+    $layer.className = 'cad'
+    $cad.id = 'cad'
+    $layer.appendChild($cad)
+
+
+    let style = document.createElement('style')
+    style.innerHTML = `
+      .cad {
+        position: absolute;
+        right: 80px;
+        top: 16px;
+        width: 200px;
+        height: 200px;
+        background: rgba(0, 0, 0, .3);
+        border-radius: 5px;
+      }
+
+      .cad > div {
+        width: 100%;
+        height: 100%;
+      }
+
+      @media only screen and (max-width: 600px) { 
+        .cad {
+            position: absolute;
+            left: 16px;
+            top: 65px;
+            width: 100px;
+            height: 100px;
+            background: rgba(0, 0, 0, .3);
+            border-radius: 5px;
+        }
+      }
+    `
+
+    document.documentElement.appendChild(style)
+    document.documentElement.appendChild($layer)
+    $parent.appendChild(style)
+    $parent.appendChild($layer)
+    return $layer
+  }
+
+
+  function setStyle(signColor, borderColor, borderWidth) {
+    cad.setDefaultPointStyle({
+      fillColor: "rgba(0,0,0,0)",
+      storkeColor: "rgba(0,0,0,0)"
+    });
+
+    console.log(borderWidth)
+    cad.setDefaultLineStyle({
+      width: borderWidth,
+      color: borderColor
+    });
+
+    cad.setDefaultSignStyle({
+      color: signColor
+    })
+  }
+
+
+  return function(floor, $parent, signColor, borderColor, borderWidth) {
+    if (initFloor) {
+      console.log('cache')
+      return setStyle(signColor, borderColor, borderWidth)
+    }
+    console.log('load')
+    initFloor = floor
+
+    loadScript(function() {
+      let $layer = loadDOM($parent)
+
+      $layer.style.visibility = 'hidden'
+      window.cad = structureCAD({
+        data: {
+            block: [],
+            column: [],
+            door: [],
+            hole: [],
+            segment: [],
+            "vertex-xy": [],
+            "vertex-z": [],
+        }, 
+        layer: $layer.querySelector('#cad'),
+        edit: false
+      });
+      
+      setStyle(signColor, borderColor, borderWidth)
+      cad.hideDire()
+      cad.hideGauge()
+  
+      console.log('loadData')
+      cad.loadData(initFloor);
+      if (point && dire) {
+        window.cad.setSign(point, dire)
+      }
+      $layer.style.visibility = 'visible'
+    })
+
+  }
+})();

+ 1 - 0
js/main_2020_edit.js

@@ -21070,6 +21070,7 @@ function o(a, s, l) {
                     }
                     
                 }
+                this.mode == "panorama" && cad.setSign({ x: this.position.x, y: this.position.z },this.cameraControls.controls.panorama.lon);
                 this.model.supportsTiles && (this.updateTileDownloader(F),
                 this.updatePanoRenderer(F)),
                 this.updatePreRendering(F),