vizLayer_cartoCSS_edit.html 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  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_cartoCSS_edit"></title>
  9. <style type="text/css">
  10. body {
  11. margin: 0;
  12. overflow: hidden;
  13. background: #fff;
  14. width: 100%;
  15. height: 100%
  16. }
  17. #map {
  18. position: absolute;
  19. width: 100%;
  20. height: 100%;
  21. }
  22. .toolbar {
  23. position: absolute;
  24. top: 50px;
  25. right: 10px;
  26. text-align: center;
  27. z-index: 100;
  28. border-radius: 4px;
  29. }
  30. #cartocssStr {
  31. height: 270px;
  32. width: 230px;
  33. display: block;
  34. background: #fff;
  35. border: none;
  36. }
  37. </style>
  38. </head>
  39. <body>
  40. <div id="cartoContainer" class="toolbar panel panel-primary">
  41. <a href="#" style="position: absolute;right: 15px;top: 15px;z-index: 100" onclick="toggle(event)" data-i18n="resources.text_hide"></a>
  42. <div id="text" class='panel-heading'><h5 class='panel-title text-center' data-i18n="resources.text_cartoCSSStyleChart"></h5></div>
  43. <div class='panel'>
  44. <div class='input-group'>
  45. <textarea id="cartocssStr"></textarea>
  46. </div>
  47. </div>
  48. <!-- <input type="button" class="btn btn-default" value="refresh" onclick="refresh()"
  49. style="margin-bottom: 10px"/>-->
  50. </div>
  51. <div id="map"></div>
  52. <script type="text/javascript" include="bootstrap,widgets.alert" src="../js/include-web.js"></script>
  53. <script type="text/javascript" exclude="iclient-classic" src="../../dist/classic/include-classic.js"></script>
  54. <script>
  55. var map, layer, editor, cartoCssStr, cartoContainer,
  56. host = window.isLocal ? window.server : "https://iserver.supermap.io",
  57. url = host + "/iserver/services/map-china400/rest/maps/China";
  58. init();
  59. function init() {
  60. if (!document.createElement('canvas').getContext) {
  61. widgets.alert.showAlert(resources.msg_supportCanvas,false);
  62. return;
  63. }
  64. //语言默认为跟当前浏览器的语言一样,当要切换至英文时,要先引入英文的语言包,然后用以下语言切换
  65. //SuperMap.Lang.setCode("en");
  66. map = new SuperMap.Map("map", {
  67. controls: [
  68. new SuperMap.Control.ScaleLine(),
  69. new SuperMap.Control.Zoom(),
  70. new SuperMap.Control.Navigation({
  71. dragPanOptions: {
  72. enableKinetic: true
  73. }
  74. })]
  75. });
  76. cartoCssStr = document.getElementById("cartocssStr");
  77. cartoCssStr.setAttribute("disabled", true);
  78. var cartoCss = cartoCssStr.value;
  79. layer = new SuperMap.Layer.TiledVectorLayer("China", url, {
  80. cacheEnabled: true,
  81. returnAttributes: true
  82. }, {useLocalStorage: true, cartoCss: cartoCss});
  83. editor = new SuperMap.Control.TiledVectorLayerEditor({"layer": layer, "position": {"x": 0, "y": 0}});
  84. editor.events.on({
  85. "cartocsschange": function (event) {
  86. cartoCssStr.value = event.cartoCss;
  87. }
  88. });
  89. editor.activate();
  90. layer.events.on({"layerInitialized": addLayer});
  91. cartoContainer = document.getElementById("cartoContainer");
  92. }
  93. function addLayer() {
  94. map.addLayers([layer]);
  95. map.addControls([editor]);
  96. var center = new SuperMap.LonLat(11793760, 4407704);
  97. map.setCenter(center, 6);
  98. }
  99. /* function refresh() {
  100. editor.position = {"x": 150, "y": 536};
  101. editor.autoHide = true;
  102. editor.editorName = "我的矢量地图编辑器";
  103. editor.refresh();
  104. }*/
  105. function toggle(event) {
  106. event = event || window.event;
  107. var element = SuperMap.Event.element(event);
  108. SuperMap.Element.toggleClass(cartoContainer, "hide");
  109. if (SuperMap.Element.hasClass(cartoContainer, "hide")) {
  110. element.innerHTML = resources.btn_open;
  111. } else {
  112. element.innerHTML = resources.text_hide;
  113. }
  114. }
  115. </script>
  116. </body>
  117. </html>