123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248 |
- /* Copyright© 2000 - 2021 SuperMap Software Co.Ltd. All rights reserved.*/
- L.supermap.plotting.initPlotPanel = function(div, serverUrl, drawControl){
- var plotPanel = document.getElementById(div);
- var treeNodeStyle = document.createElement("div");
- treeNodeStyle.style.height = '50%';
- treeNodeStyle.style.width = '100%';
- treeNodeStyle.style.border = '1px solid #617775';
- treeNodeStyle.style.overflow ='scroll';
- var treeNode = document.createElement("div");
- treeNode.id = "tree";
- treeNode.className = "ztree";
- var iconNodeStyle = document.createElement("div");
- iconNodeStyle.style.height = '50%';
- iconNodeStyle.style.width = '100%';
- var iconNode = document.createElement("div");
- iconNode.id = "icon";
- iconNode.style.height = '100%';
- iconNode.style.width = '100%';
- iconNode.style.border = '1px solid #617775';
- iconNode.style.overflow ='scroll';
- treeNodeStyle.appendChild(treeNode);
- iconNodeStyle.appendChild(iconNode);
- plotPanel.appendChild(treeNodeStyle);
- plotPanel.appendChild(iconNodeStyle);
- function beforeClickTreeNode(treeId, treeNode){
- var tree = $.fn.zTree.getZTreeObj(treeId);
- if (treeNode.isParent) {
- tree.expandNode(treeNode);
- return false;
- } else {
- var iconNode = document.getElementById("icon");
- iconNode.innerHTML = "";
- createDrawNodes(treeNode, iconNode, drawControl, serverUrl);
- }
- }
- var setting = {
- view: {
- dblClickExpand: false,
- showLine: true,
- selectedMulti: false
- },
- data: {
- simpleData: {
- enable:true,
- idKey: "id",
- pIdKey: "pId",
- rootPId: 0
- }
- },
- callback: {
- beforeClick: beforeClickTreeNode
- }
- };
- var symbolLibManager = L.supermap.plotting.symbolLibManager(serverUrl);
- if(symbolLibManager.isInitializeOK()){
- var symbolTreeData = analysisSymbolTree(symbolLibManager);
- $.fn.zTree.init($("#tree"), setting, symbolTreeData);
- } else {
- symbolLibManager.on(SuperMap.Plot.Event.initializecompleted, function(result){
- if(result.libIDs.length !== 0){
- var symbolTreeData = analysisSymbolTree(symbolLibManager);
- $.fn.zTree.init($("#tree"), setting, symbolTreeData);
- }});
- symbolLibManager.initializeAsync();
- }
- }
- function analysisSymbolTree(symbolLibManager) {
- var treeData = [];
- var idIndex = addBasicCellTreeNodes(treeData);
- var idIndex = addRouteTreeNodes(treeData);
- for(var i = 0; i < symbolLibManager.getSymbolLibNumber(); i++){
- var symbolLib = symbolLibManager.getSymbolLibByIndex(i);
- var rootSymbolInfo = symbolLib.getRootSymbolInfo();
- var rootSymbolIconUrl = symbolLib.getRootSymbolIconUrl();
- if(rootSymbolInfo.symbolNodeType === "SYMBOL_GROUP"){
- var rootNode = new Object();
- rootNode.id = idIndex+i;
- rootNode.pId = 0;
- rootNode.name = rootSymbolInfo.symbolName;
- rootNode.fullName = rootSymbolInfo.symbolName +"/";
- treeData.push(rootNode);
- idIndex = innerAnalysisSymbolTree(rootSymbolInfo.childNodes, treeData, rootNode, rootSymbolIconUrl);
- }
- }
- return treeData;
- }
- function createDrawNodes(treeNode, iconNode, drawControl, serverUrl){
- var drawNodeClick = function(){
- if(drawControl !== null){
- drawControl.handler.libID = this.libID;
- drawControl.handler.code = this.symbolCode;
- drawControl.handler.serverUrl = this.serverUrl;
- drawControl.handler.disable();
- drawControl.handler.enable();
- }
- }
- var me = this;
- var drawData = treeNode.drawData;
- var table = document.createElement("table");
- table.style.height = "100%";
- table.style.width = "100%";
- var i = 0;
- var rowLength = (drawData.length%3 === 0) ? drawData.length/3 : drawData.length/3+1;
- for(var j = 0; j < rowLength; j++){
- var tr = document.createElement("tr");
- for(var k = 0; k < 3; k++){
- if(drawData[i]){
- //存储菜单信息
- var td = document.createElement("td");
- var drawNode = document.createElement("div");
- drawNode.onclick = drawNodeClick;
- drawNode.style.textAlign = "center";
- drawNode.id = drawData[i].libID+ ""+ drawData[i].symbolCode;
- drawNode.libID = drawData[i].libID;
- drawNode.symbolCode = drawData[i].symbolCode;
- drawNode.serverUrl = serverUrl;
- //图片
- var img = document.createElement("img");
- img.src = drawData[i].icon;
- //文本
- var text = document.createElement("div");
- text.innerHTML = drawData[i].symbolName;
- drawNode.appendChild(img);
- drawNode.appendChild(text);
- td.appendChild(drawNode);
- tr.appendChild(td);
- }
- i++;
- }
- table.appendChild(tr);
- }
- iconNode.appendChild(table);
- }
- function addBasicCellTreeNodes(treeData){
- var cellRootNode = new Object();
- cellRootNode.id = 1;
- cellRootNode.pId = 0;
- cellRootNode.name = "基本标号";
- cellRootNode.fullName = "BasicCell" +"/";
- cellRootNode.drawData = [];
- treeData.push(cellRootNode);
- var symbolCode = [24, 28, 29, 31, 34, 410, 32, 590, 360, 390, 400, 350, 26, 370, 380, 44, 48, 320
- , 1019, 1022,1024,321,1023,1025
- ,1013, 1014, 1016, 1017,1026
- ,1001, 1003, 1004,1028];
- var symbolName = ["折线", "平行四边形", "圆", "椭圆", "注记", "正多边形", "多边形", "贝赛尔曲线", "闭合贝赛尔曲线"
- , "集结地", "大括号", "梯形", "矩形", "弓形", "扇形", "弧线", "平行线", "注记指示框"
- , "同心圆", "组合圆","标注框","多角标注框","自由线", "节点链"
- , "跑道形", "八字形", "箭头线", "沿线注记","线型标注"
- , "对象间连线", "多边形区域","扇形区域","铁丝网"];
- var cellId = cellRootNode.id + 1;
- for(var i = 0; i < symbolCode.length; i++){
- var drawCellNode = {
- id: cellId++,
- pId: 0,
- icon:"../img/plottingPanel/" + cellRootNode.fullName + symbolCode[i] + ".png",
- symbolCode: symbolCode[i],
- libID: 0,
- symbolName: symbolName[i]
- };
- cellRootNode.drawData.push(drawCellNode);
- }
- return cellId;
- }
- function addRouteTreeNodes(treeData){
- var cellRootNode = new Object();
- cellRootNode.id = 1;
- cellRootNode.pId = 0;
- cellRootNode.name = "航线对象";
- cellRootNode.drawData = [];
- treeData.push(cellRootNode);
- var symbolCode = [1005,1006,1007];
- var symbolName = ["航线1","航线2","航线3"];
- var cellId = cellRootNode.id + 1;
- for(var i = 0; i < symbolCode.length; i++){
- var drawCellNode = {
- id: cellId++,
- pId: 0,
- icon:"../img/plottingPanel/BasicCell/RouteIcon/" + symbolCode[i] + ".png",
- symbolCode: symbolCode[i],
- libID: 0,
- symbolName: symbolName[i]
- };
- cellRootNode.drawData.push(drawCellNode);
- }
- return cellId;
- }
- function innerAnalysisSymbolTree(childSymbolInfos, treeData, parentNode, rootSymbolIconUrl){
- var drawData = [];
- var treeNodeId = parentNode.id+1;
- for(var i = 0; i < childSymbolInfos.length; i++){
- if(childSymbolInfos[i].symbolNodeType === "SYMBOL_GROUP"){
- var treeNode = new Object();
- treeNode.id = treeNodeId++;
- treeNode.pId = parentNode.id;
- treeNode.name = childSymbolInfos[i].symbolName;
- treeNode.fullName = parentNode.fullName + childSymbolInfos[i].symbolName+"/";
- treeData.push(treeNode);
- treeNodeId = innerAnalysisSymbolTree(childSymbolInfos[i].childNodes, treeData, treeNode, rootSymbolIconUrl);
- } else if(childSymbolInfos[i].symbolNodeType === "SYMBOL_NODE"){
- var drawNode = new Object();
- drawNode.id = treeNodeId++;
- drawNode.pId = parentNode.id;
- drawNode.icon = rootSymbolIconUrl + parentNode.fullName + childSymbolInfos[i].symbolCode + ".png";
- drawNode.symbolCode = childSymbolInfos[i].symbolCode;
- drawNode.libID = childSymbolInfos[i].libID;
- drawNode.symbolName = childSymbolInfos[i].symbolName + "_" + childSymbolInfos[i].symbolCode;
- drawData.push(drawNode);
- }
- }
- if(drawData.length !== 0){
- parentNode.drawData = drawData;
- }
- return treeNodeId;
- }
|