plot_loadSymbolLib.html 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. <!--********************************************************************
  2. * Copyright© 2000 - 2021 SuperMap Software Co.Ltd. All rights reserved.
  3. *********************************************************************-->
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. <meta charset="UTF-8">
  8. <title data-i18n="resources.title_loadSymbolLib"></title>
  9. </head>
  10. <body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
  11. <div id="toolbar" class="panel panel-primary" style=" position: absolute;top: 10px;right: 10px;text-align: center;z-index: 9999;border-radius: 4px;">
  12. <div class='panel-heading' id="panelheading">
  13. <h5 class='panel-title text-center' data-i18n="resources.title_loadSymbolLib"></h5></div>
  14. <div class='panel-body content' id="panelbodycontent">
  15. <input type="button" class="btn btn-default" data-i18n="[value]resources.btn_plot" onclick="plotSymbol()"/>&nbsp; &nbsp;
  16. <input type="button" class="btn btn-default" data-i18n="[value]resources.btn_cancelMarker" onclick="PlottingDrawCancel()"/>&nbsp; &nbsp;
  17. <input type="button" class="btn btn-default" data-i18n="[value]resources.btn_clear" onclick="PlottingClear()"/>
  18. </div>
  19. <div id="popupWin" class="popupWindow" style=" background: #FFF;z-index: 9999;display: block;display: block;top: 400px; height: 150px;">
  20. <div class='panel'>
  21. <div class='input-group'>
  22. <div class="winTitle" style=" margin-left: 20px;font-size: 14px;font-weight: bold;">
  23. <span class="title_left" data-i18n="resources.text_symbolLibInfo"></span>
  24. </div>
  25. </div>
  26. </div>
  27. <div id="symbolLibInfo" class="winContent" style=" padding: 5px;overflow-y: auto;height: 220px;overflow-y:auto;height:250px;">
  28. </div>
  29. </div>
  30. </div>
  31. <div id="map" style="margin:0 auto;width: 100%;height: 100%"></div>
  32. <script type="text/javascript" include="bootstrap-css" src="../js/include-web.js"></script>
  33. <script type="text/javascript" include="iclient-leaflet-css,iclient-plot-leaflet" src="../../dist/leaflet/include-leaflet.js"></script>
  34. <script type="text/javascript">
  35. var host = window.isLocal ? window.server : "https://iserver.supermap.io";
  36. var url = host + "/iserver/services/map-china400/rest/maps/China_4326";
  37. var serverUrl = host + "/iserver/services/plot-jingyong/rest/plot/";
  38. var map,symbolLibManager;
  39. map = L.map('map', {
  40. preferCanvas: true,
  41. crs: L.CRS.EPSG4326,
  42. center: [35,104],
  43. maxZoom: 18,
  44. zoom: 3
  45. });
  46. L.supermap.tiledMapLayer(url).addTo(map);
  47. var plottingLayer = L.supermap.plotting.plottingLayer("plot", serverUrl);
  48. plottingLayer.addTo(map);
  49. var drawControl = L.supermap.plotting.drawControl(plottingLayer);
  50. drawControl.addTo(map);
  51. var editControl = L.supermap.plotting.editControl();
  52. editControl.addTo(map);
  53. var plotting = L.supermap.plotting.getControl(map, serverUrl);
  54. function loadSymbolLib(){
  55. symbolLibManager = plotting.getSymbolLibManager();
  56. symbolLibManager.on(SuperMap.Plot.Event.initializecompleted,showSymbolLibInfo);
  57. symbolLibManager.initializeAsync();
  58. }
  59. function showSymbolLibInfo(result) {
  60. document.all.symbolLibInfo.innerHTML = "";
  61. if (0 === result.length) {
  62. return;
  63. }
  64. var symbolLib = symbolLibManager.getSymbolLibByIndex(0);
  65. //获取选中的对象
  66. var container = document.getElementById("symbolLibInfo");
  67. var table = document.createElement("table");
  68. var body = document.createElement("tbody");
  69. table.setAttribute("border", "1");
  70. table.setAttribute("borderColor", "black");
  71. table.setAttribute("width", "100%");
  72. //标号库名称
  73. var tr_SymbolLibName = document.createElement("tr");
  74. var tdName_SymbolLibName = document.createElement("td");
  75. var textName_SymbolLibName = document.createTextNode("标号库名称");
  76. tdName_SymbolLibName.appendChild(textName_SymbolLibName);
  77. tr_SymbolLibName.appendChild(tdName_SymbolLibName);
  78. var tdValue_SymbolLibName = document.createElement("td");
  79. var textValue_SymbolLibName = document.createTextNode(symbolLib.getSymbolLibName());
  80. tdValue_SymbolLibName.appendChild(textValue_SymbolLibName);
  81. tr_SymbolLibName.appendChild(tdValue_SymbolLibName);
  82. body.appendChild(tr_SymbolLibName);
  83. //标号库ID
  84. var tr_SymbolLibID = document.createElement("tr");
  85. var tdName_SymbolLibID = document.createElement("td");
  86. var textName_SymbolLibID = document.createTextNode("标号库ID");
  87. tdName_SymbolLibID.appendChild(textName_SymbolLibID);
  88. tr_SymbolLibID.appendChild(tdName_SymbolLibID);
  89. var tdValue_SymbolLibID = document.createElement("td");
  90. var textValue_SymbolLibID = document.createTextNode(symbolLib.getSymbolLibID());
  91. tdValue_SymbolLibID.appendChild(textValue_SymbolLibID);
  92. tr_SymbolLibID.appendChild(tdValue_SymbolLibID);
  93. body.appendChild(tr_SymbolLibID);
  94. //标号库标号个数
  95. var tr_SymbolCount = document.createElement("tr");
  96. var tdName_SymbolCount = document.createElement("td");
  97. var textName_SymbolCount = document.createTextNode("标号个数");
  98. tdName_SymbolCount.appendChild(textName_SymbolCount);
  99. tr_SymbolCount.appendChild(tdName_SymbolCount);
  100. var tdValue_SymbolCount = document.createElement("td");
  101. var textValue_SymbolCount = document.createTextNode(symbolLib.getSymbolCount());
  102. tdValue_SymbolCount.appendChild(textValue_SymbolCount);
  103. tr_SymbolCount.appendChild(tdValue_SymbolCount);
  104. body.appendChild(tr_SymbolCount);
  105. table.appendChild(body);
  106. container.appendChild(table);
  107. }
  108. function getCode(symbolInfo) {
  109. var nCode = -1;
  110. while (symbolInfo.symbolNodeType === "SYMBOL_GROUP") {
  111. symbolInfo = symbolInfo.childNodes[0];
  112. }
  113. nCode = symbolInfo.symbolCode;
  114. return nCode;
  115. }
  116. function getFirstSymbol() {
  117. var nCode = -1;
  118. var symbolLib = symbolLibManager.getSymbolLibByIndex(0);
  119. if (null === symbolLib) {
  120. drawGraphicObject.deactivate();
  121. return nCode;
  122. }
  123. var rootSymbolInfo = symbolLib.getRootSymbolInfo();
  124. var i = 0;
  125. nCode = getCode(rootSymbolInfo.childNodes[i]);
  126. while (-1 === nCode) {
  127. i++;
  128. nCode = getCode(rootSymbolInfo.childNodes[i]);
  129. }
  130. return nCode;
  131. }
  132. function plotSymbol(){
  133. var symbolLib = symbolLibManager.getSymbolLibByIndex(0);
  134. if (null === symbolLib) {
  135. drawControl.handler.disable();
  136. return;
  137. }
  138. drawControl.handler.libID = symbolLib.getSymbolLibID();
  139. drawControl.handler.code = getFirstSymbol();
  140. drawControl.handler.serverUrl = serverUrl;
  141. drawControl.handler.enable();
  142. }
  143. function PlottingDrawCancel(){
  144. drawControl.handler.disable();
  145. }
  146. function PlottingClear(){
  147. plottingLayer.removeAllFeatures();
  148. }
  149. window.onload = function(){
  150. loadSymbolLib();
  151. };
  152. $(document).ready(function(){
  153. $('#panelheading').click(function(){
  154. $('#panelbodycontent').toggle();
  155. $('#popupWin').toggle();
  156. });
  157. });
  158. </script>
  159. </body>
  160. </html>