plot_defaultStyle.html 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  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_defaultStyle"></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"
  12. style="position: absolute;top: 10px;right: 10px;text-align: center;z-index: 800;border-radius: 4px;">
  13. <div class='panel-heading' id="panelheading">
  14. <h5 class='panel-title text-center' data-i18n="resources.title_defaultStyle"></h5></div>
  15. <div class='panel-body content' id="panelbodycontent">
  16. <div class='panel'>
  17. <div class='input-group' style="width: 220px;margin-bottom: 15px;">
  18. <span class='input-group-addon' data-i18n="resources.text_lineWidth"></span>
  19. <input type='text' class='form-control' id='lineWidth' value='2' onchange="lineWidthChanges()"/>
  20. </div>
  21. <div class='input-group' style="width: 220px;margin-bottom: 15px;">
  22. <span class='input-group-addon' data-i18n="resources.text_lineType"></span>
  23. <select class='form-control' id="lineStyle" onchange="lineStyleChanges()"></select>
  24. </div>
  25. <div class='input-group' style="width: 220px;margin-bottom: 15px;">
  26. <span class='input-group-addon' data-i18n="resources.text_lineColor"></span>
  27. <input type="text" id="lineColor" value="" class='form-control'/>
  28. <span class='input-group-addon'><img src='../img/colorpicker.png' id="cp1"
  29. style="cursor:pointer; z-index: 9999;"/></span>
  30. </div>
  31. <div class='input-group' style="width: 220px;margin-bottom: 15px;">
  32. <span class='input-group-addon' data-i18n="resources.text_markerWidth"></span>
  33. <input type='text' class='form-control' id='symbolWidth' value='40' onchange="symbolWidthChanges()"/>
  34. </div>
  35. <div class='input-group' style="width: 220px;margin-bottom: 15px;">
  36. <span class='input-group-addon' data-i18n="resources.text_markerHeight"></span>
  37. <input type='text' class='form-control' id='symbolHeight' value='40' onchange="symbolHeightChanges()"/>
  38. </div>
  39. <div class='input-group' style="width: 220px;margin-bottom: 15px;">
  40. <span class='input-group-addon' data-i18n="resources.text_defaultStyle"></span>
  41. <select class='form-control' id='defaultStyleFlag' onchange="defaultStyleFlagChanges()">
  42. <option value='0'>false</option>
  43. <option value='1'>true</option>
  44. </select>
  45. </div>
  46. </div>
  47. <input type="button" class="btn btn-default" data-i18n="[value]resources.btn_drawMarker" onclick="plotSymbol()"/>
  48. <input type="button" class="btn btn-default" data-i18n="[value]resources.btn_cancelMarker" onclick="PlottingDrawCancel()"/>
  49. </div>
  50. </div>
  51. <div id="map" style="margin:0 auto;width: 100%;height: 100%"></div>
  52. <script type="text/javascript" include="bootstrap-css,responsive,colorpicker" src="../js/include-web.js"></script>
  53. <script type="text/javascript" include="iclient-leaflet-css,iclient-plot-leaflet"
  54. src="../../dist/leaflet/include-leaflet.js"></script>
  55. <script type="text/javascript">
  56. var host = window.isLocal ? window.server : "https://iserver.supermap.io";
  57. var url = host + "/iserver/services/map-china400/rest/maps/China_4326";
  58. var serverUrl = host + "/iserver/services/plot-jingyong/rest/plot/";
  59. var map, symbolLibManager, plotting;
  60. var item = ["实线","长虚线","由点构成的直线","由线划线段组成的直线","由重复的线划点图案构成的直线"],
  61. select, lineStyle;
  62. map = L.map('map', {
  63. preferCanvas: true,
  64. crs: L.CRS.EPSG4326,
  65. center: [35,104],
  66. maxZoom: 18,
  67. zoom: 3
  68. });
  69. L.supermap.tiledMapLayer(url).addTo(map);
  70. var plottingLayer = L.supermap.plotting.plottingLayer("plot", serverUrl);
  71. plottingLayer.addTo(map);
  72. var drawControl = L.supermap.plotting.drawControl(plottingLayer);
  73. drawControl.addTo(map);
  74. var editControl = L.supermap.plotting.editControl();
  75. editControl.addTo(map);
  76. plotting = L.supermap.plotting.getControl(map, serverUrl);
  77. function loadSymbolLib() {
  78. symbolLibManager = plotting.getSymbolLibManager();
  79. symbolLibManager.on(SuperMap.Plot.Event.initializecompleted, initializeCompleted);
  80. symbolLibManager.initializeAsync();
  81. }
  82. function initializeCompleted() {
  83. initHtml();
  84. }
  85. function initHtml() {
  86. document.getElementById("lineWidth").value = plotting.getDefaultStyle().lineWidth;
  87. document.getElementById("lineStyle").value = item[0];
  88. //document.getElementById("lineStyle").value = item[plotting.getDefaultStyle().lineType];
  89. document.getElementById("lineColor").value = plotting.getDefaultStyle().lineColor;
  90. document.getElementById("symbolWidth").value = plotting.getDefaultStyle().dotSymbolSize;
  91. document.getElementById("symbolHeight").value = plotting.getDefaultStyle().dotSymbolSize;
  92. if (plotting.getDefaultStyle().defaultFlag)
  93. document.getElementById("defaultStyleFlag").value = 1;
  94. else
  95. document.getElementById("defaultStyleFlag").value = 0;
  96. }
  97. function selectLineType() {
  98. var select = document.getElementById("lineStyle");
  99. var type;
  100. for (var i = 0; i < select.children.length; i++) {
  101. if (select.children[i].selected) {
  102. type = select.children[i].value;
  103. }
  104. }
  105. if (type === item[0]) {
  106. lineStyle = 0;
  107. }
  108. else if (type === item[1]) {
  109. lineStyle = 1;
  110. }
  111. else if (type === item[2]) {
  112. lineStyle = 2;
  113. }
  114. else if (type === item[3]) {
  115. lineStyle = 3;
  116. }
  117. else if (type === item[4]) {
  118. lineStyle = 4;
  119. }
  120. var obj = new Object();
  121. obj.selectValue = type;
  122. obj.lineStyle = lineStyle;
  123. return obj;
  124. }
  125. function lineWidthChanges() {
  126. PlottingDrawCancel();
  127. plotting.getDefaultStyle().lineWidth = document.getElementById("lineWidth").value;
  128. }
  129. function lineStyleChanges() {
  130. PlottingDrawCancel();
  131. var obj=selectLineType();
  132. plotting.getDefaultStyle().lineType = obj.lineStyle;
  133. }
  134. function symbolWidthChanges() {
  135. PlottingDrawCancel();
  136. plotting.getDefaultStyle().dotSymbolSize = document.getElementById("symbolWidth").value;
  137. document.getElementById("symbolHeight").value = plotting.getDefaultStyle().dotSymbolSize;
  138. }
  139. function symbolHeightChanges() {
  140. PlottingDrawCancel();
  141. plotting.getDefaultStyle().dotSymbolSize = document.getElementById("symbolHeight").value;
  142. document.getElementById("symbolWidth").value = plotting.getDefaultStyle().dotSymbolSize;
  143. }
  144. function defaultStyleFlagChanges() {
  145. PlottingDrawCancel();
  146. if (document.getElementById("defaultStyleFlag").selectedIndex === 0) {
  147. plotting.getDefaultStyle().defaultFlag = false;
  148. } else {
  149. plotting.getDefaultStyle().defaultFlag = true;
  150. }
  151. }
  152. function plotSymbol() {
  153. drawControl.handler.serverUrl = serverUrl;
  154. drawControl.handler.libID = 421;
  155. drawControl.handler.code = 20100;
  156. drawControl.handler.enable();
  157. }
  158. function PlottingDrawCancel() {
  159. drawControl.handler.disable();
  160. }
  161. function PlottingClear() {
  162. plottingLayer.removeAllFeatures();
  163. }
  164. $(document).ready(function () {
  165. $("#cp1").colorpicker({
  166. ishex: true,
  167. fillcolor: true,
  168. event: 'mouseover',
  169. target: $("#lineColor"),
  170. success: lineColorChanges
  171. });
  172. $("#_creset").css("font-size", "12px");
  173. $("#_creset").css("padding-right", "20px");
  174. $("#colorpanel").css({"z-index": "9999"});
  175. });
  176. function lineColorChanges() {
  177. PlottingDrawCancel();
  178. plotting.getDefaultStyle().lineColor = document.getElementById("lineColor").value;
  179. }
  180. window.onload = function () {
  181. select = document.getElementById("lineStyle");
  182. for (var i = 0, len = item.length; i < len; i++) {
  183. var options = document.createElement("option");
  184. options.setAttribute("value", item[i]);
  185. options.innerHTML = item[i];
  186. select.appendChild(options);
  187. }
  188. loadSymbolLib();
  189. };
  190. $(document).ready(function(){
  191. $('#panelheading').click(function(){
  192. $('#panelbodycontent').toggle();
  193. });
  194. });
  195. </script>
  196. </body>
  197. </html>