mapvLayerPolyon.html 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <!--********************************************************************
  2. * Copyright© 2000 - 2021 SuperMap Software Co.Ltd. All rights reserved.
  3. *********************************************************************-->
  4. <!DOCTYPE html>
  5. <html lang="en-US">
  6. <head>
  7. <meta charset="UTF-8">
  8. <meta http-equiv="X-UA-Compatible" content="IE=Edge">
  9. <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
  10. <title data-i18n="resources.title_mapVLayerPolygon"></title>
  11. <script type="text/javascript" src="../js/include-web.js"></script>
  12. <script type="text/javascript" include="mapv" src="../../dist/mapboxgl/include-mapboxgl.js"></script>
  13. <style>
  14. body {
  15. margin: 0;
  16. padding: 0;
  17. }
  18. #map {
  19. position: absolute;
  20. top: 0;
  21. bottom: 0;
  22. width: 100%;
  23. }
  24. </style>
  25. </head>
  26. <body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%">
  27. <div id="map"></div>
  28. <script type="text/javascript">
  29. var attribution = "<a href='https://www.mapbox.com/about/maps/' target='_blank'>© Mapbox </a>" +
  30. " with <span>© <a href='https://iclient.supermap.io' target='_blank'>SuperMap iClient</a> | </span>" +
  31. " Map Data <span>© <a href='http://support.supermap.com.cn/product/iServer.aspx' target='_blank'>SuperMap iServer</a> | </span>" +
  32. "<a href='https://mapv.baidu.com' target='_blank'>© 2018 百度 MapV</a>";
  33. var host = window.isLocal ? window.server : "https://iserver.supermap.io";
  34. var tileURL = host + "/iserver/services/map-china400/rest/maps/ChinaDark/zxyTileImage.png?z={z}&x={x}&y={y}";
  35. var map = new mapboxgl.Map({
  36. container: 'map',
  37. style: {
  38. "version": 8,
  39. "sources": {
  40. "raster-tiles": {
  41. "attribution": attribution,
  42. "type": "raster",
  43. "tiles": [tileURL],
  44. "tileSize": 256,
  45. },
  46. },
  47. "layers": [{
  48. "id": "simple-tiles",
  49. "type": "raster",
  50. "source": "raster-tiles",
  51. "minzoom": 0,
  52. "maxzoom": 22
  53. }]
  54. },
  55. center: [113.28, 22.65],
  56. zoom: 7
  57. });
  58. map.addControl(new mapboxgl.NavigationControl(), 'top-left');
  59. map.addControl(new mapboxgl.supermap.LogoControl(), 'bottom-right');
  60. loadData();
  61. //示例数据来源为百度MapV的加偏数据,iClient未做纠偏处理
  62. function loadData() {
  63. $.get('../data/guang_dong.json', function (geojson) {
  64. var dataSet1 = mapv.geojson.getDataSet(geojson);
  65. var citys = {
  66. '深圳市': 20,
  67. '广州市': 40,
  68. '佛山市': 60,
  69. '江门市': 80,
  70. '中山市': 100,
  71. };
  72. var data1 = dataSet1.get({
  73. filter: function (item) {
  74. if (!citys[item.name]) {
  75. return false;
  76. }
  77. item.count = citys[item.name];
  78. return true;
  79. }
  80. });
  81. dataSet1 = new mapv.DataSet(data1);
  82. var options = {
  83. gradient: {
  84. 0: 'yellow',
  85. 1: 'red'
  86. },
  87. globalAlpha: 0.8,
  88. draw: 'intensity'
  89. };
  90. //mapboxgl.supermap.MapvLayer 构造函数的第一个 map 参数将在下个版本遗弃
  91. var mapVLayer1 = new mapboxgl.supermap.MapvLayer("", dataSet1, options);
  92. map.addLayer(mapVLayer1);
  93. var data2 = [];
  94. for (var key in citys) {
  95. var center = mapv.utilCityCenter.getCenterByCityName(key.replace('市', ''));
  96. data2.push(
  97. {
  98. geometry: {
  99. type: 'Point',
  100. coordinates: [center.lng, center.lat]
  101. },
  102. text: key
  103. }
  104. );
  105. }
  106. var dataSet2 = new mapv.DataSet(data2);
  107. var textOptions = {
  108. draw: 'text',
  109. font: '14px Arial',
  110. fillStyle: 'blue',
  111. shadowColor: 'white',
  112. shadowBlue: 20,
  113. zIndex: 11,
  114. shadowBlur: 10
  115. };
  116. //mapboxgl.supermap.MapvLayer 构造函数的第一个 map 参数将在下个版本遗弃
  117. var mapVLayer2 = new mapboxgl.supermap.MapvLayer("", dataSet2, textOptions);
  118. map.addLayer(mapVLayer2);
  119. setTimeout(function () {
  120. new mapboxgl.Popup({closeOnClick: false})
  121. .setLngLat(map.getCenter())
  122. .setHTML(resources.text_iClient)
  123. .addTo(map);
  124. }, 1000)
  125. });
  126. }
  127. </script>
  128. </body>
  129. </html>