mvtVectorTile_changeStyle.html 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <!--********************************************************************
  2. * Copyright© 2000 - 2021 SuperMap Software Co.Ltd. All rights reserved.
  3. *********************************************************************-->
  4. <html>
  5. <head>
  6. <meta charset='utf-8'/>
  7. <title data-i18n="resources.title_changeStyle"></title>
  8. <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no'/>
  9. <style>
  10. body {
  11. margin: 0;
  12. padding: 0;
  13. }
  14. #map {
  15. position: absolute;
  16. top: 0;
  17. bottom: 0;
  18. width: 100%;
  19. }
  20. #menu {
  21. position: absolute;
  22. z-index: 2;
  23. padding: 6px 0 6px 10px;
  24. margin-right: 20px;
  25. left: 60px;
  26. top: 10px;
  27. float: left;
  28. border-radius: 4px;
  29. -moz-box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.1);
  30. -webkit-box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.1);
  31. box-shadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.1);
  32. overflow: hidden;
  33. background: #fff;
  34. }
  35. label {
  36. margin: 0;
  37. margin-right: 10px;
  38. }
  39. </style>
  40. </head>
  41. <body>
  42. <div id='map'></div>
  43. <div id='menu' class="mapboxgl-ctrl">
  44. <input id='basic' type='radio' name='rtoggle' value='basic' checked='checked'>
  45. <label for='basic' data-i18n="resources.text_vectorDefaultStyle"></label>
  46. <input id='dark' type='radio' name='rtoggle' value='dark'>
  47. <label for='dark' data-i18n="resources.text_darkBlueStyle"></label>
  48. <input id='fiordcolor' type='radio' name='rtoggle' value='fiordcolor'>
  49. <label for='fiordcolor' data-i18n="resources.text_fiordStyle"></label>
  50. <input id='klokantech' type='radio' name='rtoggle' value='klokantech'>
  51. <label for='klokantech' data-i18n="resources.text_klokantechStyle"></label>
  52. <input id='osm' type='radio' name='rtoggle' value='OSM'>
  53. <label for='osm' data-i18n="resources.text_osmStyle"></label>
  54. <input id='positron' type='radio' name='rtoggle' value='positron'>
  55. <label for='positron' data-i18n="resources.text_positronStyle"></label>
  56. </div>
  57. <script type="text/javascript" src="styles.js"></script>
  58. <script type="text/javascript" include='bootstrap-css' src="../js/include-web.js"></script>
  59. <script type="text/javascript" exclude='iclient-mapboxgl' src="../../dist/mapboxgl/include-mapboxgl.js"></script>
  60. <script type="text/javascript">
  61. var currentLayerGroupId = "basic";
  62. var defaultStyle = mapStyles[currentLayerGroupId].style;
  63. var map = new mapboxgl.Map({
  64. container: 'map',
  65. style: defaultStyle,
  66. center: [116.4, 39.9],
  67. minZoom: 10,
  68. zoom: 11
  69. });
  70. map.addControl(new mapboxgl.NavigationControl(), 'top-left');
  71. var layerList = document.getElementById('menu');
  72. var inputs = layerList.getElementsByTagName('input');
  73. for (var i = 0; i < inputs.length; i++) {
  74. inputs[i].onclick = switchStyle;
  75. }
  76. function switchStyle(layer) {
  77. var layerGroupId = layer.target.id;
  78. if (!layerGroupId || !(mapStyles[layerGroupId]) || layerGroupId === currentLayerGroupId) {
  79. return;
  80. }
  81. map.setStyle(mapStyles[layerGroupId].style, {diff: false});
  82. currentLayerGroupId = layerGroupId;
  83. }
  84. </script>
  85. </body>
  86. </html>