| | |
| | | <div class="FloorWrap"> |
| | | <div id="closeBtn_onclick"><span>×</span></div> |
| | | <div id="FloorBox"> |
| | | <div> |
| | | 查看模型: |
| | | <select id="modelFy"> |
| | | <option value="/c3dserver/YHYQ1/tileset.json" style="background: rgba(0, 0, 0, 0.4)">永辉大厦</option> |
| | | <option value="/ctsserver/yichengketing/tileset.json" style="background: rgba(0, 0, 0, 0.4)">亦城客厅</option> |
| | | <option value="/ctsserver/fengdaguoji/tileset.json" style="background: rgba(0, 0, 0, 0.4)">丰大国际</option> |
| | | </select> |
| | | </div> |
| | | <br /> |
| | | <div id="deviation" style="display:none"> |
| | | 偏移方向: |
| | | <input name="offset" id="offsetX" class="styled" value="x" checked type="radio" /> |
| | | <label>X轴</label> |
| | | |
| | | <input name="offset" id="offsetY" class="styled" value="y" type="radio" /> |
| | | <label>Y轴</label> |
| | | |
| | | <input name="offset" id="offsetZ" class="styled" value="z" type="radio" /> |
| | | <label>Z轴</label> |
| | | <br /> |
| | | </div> |
| | | |
| | | <div class="checkbox checkbox-primary checkbox-inline" id="selectBox"> |
| | | 查看层级: |
| | | <select id="selectlevel"> |
| | |
| | | <div id="toolbar"> |
| | | <div> |
| | | 偏移距离: |
| | | <input |
| | | type="range" |
| | | min="-200" |
| | | max="200" |
| | | step="1" |
| | | data-bind="value: distance, valueUpdate: 'input'" |
| | | /> |
| | | <input type="range" min="-200" max="200" step="1" data-bind="value: distance, valueUpdate: 'input'" /> |
| | | <input type="text" size="5" data-bind="value: distance" /> |
| | | |
| | | <input |
| | | id="showBuild_onclick" |
| | | type="button" |
| | | class="btn btn-primary" |
| | | value="展开" |
| | | /> |
| | | <input id="showBuild_onclick" type="button" class="btn btn-primary" value="展开" /> |
| | | |
| | | <input |
| | | id="restore_onclick" |
| | | type="button" |
| | | class="btn btn-primary" |
| | | value="恢复" |
| | | /> |
| | | <input id="restore_onclick" type="button" class="btn btn-primary" value="恢复" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | }, |
| | | mounted() { |
| | | $(function () { |
| | | getModelLayer(); |
| | | //选择展开 |
| | | $("#showBuild_onclick").click(function () { |
| | | let num = Number($("#selectlevel").val()); |
| | | showModel.updataModel("FloorNum", [num]); //第一个参数为选择筛选的属性名,第二个为保留的数据实例 |
| | | }); |
| | | //恢复 |
| | | $("#restore_onclick").click(function () { |
| | | deleteAllRows(); |
| | | showModel.updataModel("", []); |
| | | }); |
| | | //关闭 |
| | | $("#closeBtn_onclick").click(function () { |
| | | deleteAllRows(); |
| | | showModel.updataModel("", []); |
| | | sgworld.Creator.DeleteObject(modelLayer); |
| | | Bus.$emit("ShowFCFH", false); |
| | | }); |
| | | $("#modelFy").change(() => { |
| | | getModelLayer(); |
| | | }) |
| | | $('input[type=radio][name=offset]').change((event) => { |
| | | setClippingModel(); |
| | | }) |
| | | //表格数据 |
| | | const dataTable = document.getElementById("dataTable"); |
| | | function createTableRow(dataObj) { |
| | | for (const key in dataObj) { |
| | | if (dataObj.hasOwnProperty(key)) { |
| | | const row = document.createElement("tr"); |
| | | const cellName = document.createElement("td"); |
| | | cellName.textContent = key; |
| | | row.appendChild(cellName); |
| | | const cellValue = document.createElement("td"); |
| | | cellValue.textContent = dataObj[key]; |
| | | row.appendChild(cellValue); |
| | | dataTable.appendChild(row); |
| | | } |
| | | } |
| | | } |
| | | function loadTable(dataObj) { |
| | | deleteAllRows(); |
| | | createTableRow(dataObj); |
| | | } |
| | | function getModelLayer() { |
| | | const val = document.getElementById("modelFy").value; |
| | | var falg = false; |
| | | if (val.indexOf('YHYQ1') > -1) { |
| | | $("#selectBox").show(); |
| | | $("#toolbar").show(); |
| | | $("#deviation").hide(); |
| | | document.getElementById('offsetX').checked = true; |
| | | } else { |
| | | $("#deviation").show(); |
| | | falg = true; |
| | | $("#selectBox").hide(); |
| | | $("#toolbar").hide(); |
| | | $("#offsetX").attr("checked", true); |
| | | $("#offsetY").attr("checked", false); |
| | | $("#offsetZ").attr("checked", false); |
| | | } |
| | | const url = "http://10.10.4.121:8070/gisserver" + val; |
| | | // console.log(document.getElementById("modelFy")); |
| | | |
| | | addModelLayer(url, falg) |
| | | } |
| | | function addModelLayer(response, flag) { |
| | | if (modelLayer) { |
| | | sgworld.Creator.DeleteObject(modelLayer); |
| | | modelLayer = null |
| | | } |
| | | modelLayer = sgworld.Creator.create3DTilesets( |
| | | "", |
| | | "http://10.10.4.121:8070/gisserver/c3dserver/YHYQ1/tileset.json", |
| | | response, |
| | | {}, |
| | | {}, |
| | | "0", |
| | |
| | | //notSelectColor:new SmartEarth.Cesium.Color.fromCssColorString("rgba(102,204,255,0.5)"), //非展示模型的颜色 |
| | | //highlightColor:new SmartEarth.Cesium.Color.fromCssColorString("rgba(255,215,0,0.9)"), //选择展示模型的高亮颜色 |
| | | }); |
| | | if (flag) { |
| | | setClippingModel() |
| | | } |
| | | }, 1000); |
| | | //选择展开 |
| | | $("#showBuild_onclick").click(function () { |
| | | let num = Number($("#selectlevel").val()); |
| | | showModel.updataModel("FloorNum", [num]); //第一个参数为选择筛选的属性名,第二个为保留的数据实例 |
| | | }); |
| | | //恢复 |
| | | $("#restore_onclick").click(function () { |
| | | deleteAllRows(); |
| | | showModel.updataModel("", []); |
| | | }); |
| | | //关闭 |
| | | $("#closeBtn_onclick").click(function () { |
| | | deleteAllRows(); |
| | | showModel.updataModel("", []); |
| | | sgworld.Creator.DeleteObject(modelLayer); |
| | | Bus.$emit("ShowFCFH", false); |
| | | }); |
| | | //表格数据 |
| | | const dataTable = document.getElementById("dataTable"); |
| | | function createTableRow(dataObj) { |
| | | for (const key in dataObj) { |
| | | if (dataObj.hasOwnProperty(key)) { |
| | | const row = document.createElement("tr"); |
| | | const cellName = document.createElement("td"); |
| | | cellName.textContent = key; |
| | | row.appendChild(cellName); |
| | | const cellValue = document.createElement("td"); |
| | | cellValue.textContent = dataObj[key]; |
| | | row.appendChild(cellValue); |
| | | dataTable.appendChild(row); |
| | | } |
| | | function setClippingModel() { |
| | | var radios = document.querySelectorAll('input[name="offset"]:checked'); |
| | | if (radios.length > 0) { |
| | | var value = radios[0].value; |
| | | modelLayer.clippingModel({ |
| | | direction: value |
| | | }) |
| | | } |
| | | } |
| | | function loadTable(dataObj) { |
| | | deleteAllRows(); |
| | | createTableRow(dataObj); |
| | | } |
| | | //删除表格 |
| | | function deleteAllRows() { |
| | |
| | | <style scoped> |
| | | .FloorWrap { |
| | | color: #fff; |
| | | min-width: 413px; |
| | | } |
| | | |
| | | #closeBtn_onclick { |
| | | width: 20px; |
| | | cursor: pointer; |
| | | margin-left: auto; |
| | | margin-bottom: 8px; |
| | | } |
| | | |
| | | #closeBtn_onclick span { |
| | | font-size: 20px; |
| | | } |