mapvPolygon.html 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  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. <style>
  12. .ol-popup {
  13. position: absolute;
  14. background-color: white;
  15. -webkit-filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.2));
  16. filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.2));
  17. padding: 15px;
  18. border-radius: 10px;
  19. border: 1px solid #cccccc;
  20. bottom: 12px;
  21. left: -50px;
  22. min-width: 280px;
  23. font-size: 8pt;
  24. }
  25. .ol-popup:after, .ol-popup:before {
  26. top: 100%;
  27. border: solid transparent;
  28. content: " ";
  29. height: 0;
  30. width: 0;
  31. position: absolute;
  32. pointer-events: none;
  33. }
  34. .ol-popup:after {
  35. border-top-color: white;
  36. border-width: 10px;
  37. left: 48px;
  38. margin-left: -10px;
  39. }
  40. .ol-popup:before {
  41. border-top-color: #cccccc;
  42. border-width: 11px;
  43. left: 48px;
  44. margin-left: -11px;
  45. }
  46. .ol-popup-closer {
  47. text-decoration: none;
  48. position: absolute;
  49. top: 2px;
  50. right: 8px;
  51. }
  52. .ol-popup-closer:after {
  53. content: "✖";
  54. }
  55. </style>
  56. </head>
  57. <body style=" margin: 0;overflow: hidden;background: #fff;position: absolute;width: 100%;height:100%; position: absolute;top: 0;">
  58. <div id="popup" class="ol-popup">
  59. <a href="#" id="popup-closer" class="ol-popup-closer"></a>
  60. <div id="popup-content" data-i18n="resources.text_iClient"></div>
  61. </div>
  62. <div id="map" style="width: 100%;height:100%"></div>
  63. <script type="text/javascript" include="jquery" src="../js/include-web.js"></script>
  64. <script type="text/javascript" include="mapv" src="../../dist/ol/include-ol.js"></script> v
  65. <script type="text/javascript">
  66. var container = document.getElementById('popup');
  67. var content = document.getElementById('popup-content');
  68. var closer = document.getElementById('popup-closer');
  69. var overlay = new ol.Overlay(({
  70. element: container,
  71. autoPan: true,
  72. autoPanAnimation: {
  73. duration: 250
  74. }
  75. }));
  76. closer.onclick = function () {
  77. overlay.setPosition(undefined);
  78. closer.blur();
  79. return false;
  80. };
  81. var host = window.isLocal ? window.server : "https://iserver.supermap.io";
  82. var url = host + "/iserver/services/map-china400/rest/maps/ChinaDark";
  83. var map = new ol.Map({
  84. target: 'map',
  85. controls: ol.control.defaults({attributionOptions: {collapsed: false}})
  86. .extend([new ol.supermap.control.Logo()]),
  87. view: new ol.View({
  88. center: [113.28, 22.65],
  89. zoom: 8,
  90. projection: 'EPSG:4326',
  91. multiWorld: true
  92. }),
  93. layers: [new ol.layer.Tile({
  94. source: new ol.source.TileSuperMapRest({
  95. url: url,
  96. prjCoordSys: {"epsgCode": 4326},
  97. attributions: "Map Data <span>© <a href='http://support.supermap.com.cn/product/iServer.aspx' target='_blank'>SuperMap iServer</a>"
  98. }),
  99. projection: 'EPSG:4326'
  100. })]
  101. });
  102. map.addOverlay(overlay);
  103. $.get('../data/guang_dong.json', function (geojson) {
  104. var dataSet1 = mapv.geojson.getDataSet(geojson);
  105. var citys = {
  106. '深圳市': 20,
  107. '广州市': 40,
  108. '佛山市': 60,
  109. '江门市': 80,
  110. '中山市': 100,
  111. };
  112. var data1 = dataSet1.get({
  113. filter: function (item) {
  114. if (!citys[item.name]) {
  115. return false;
  116. }
  117. item.count = citys[item.name];
  118. return true;
  119. }
  120. });
  121. dataSet1 = new mapv.DataSet(data1);
  122. var options = {
  123. gradient: {
  124. 0: 'yellow',
  125. 1: 'red'
  126. },
  127. globalAlpha: 0.8,
  128. draw: 'intensity'
  129. };
  130. var dataAttr = resources.text_dataSources + "<a target='_blank' href='https://mapv.baidu.com/examples/geojson-guangdong.html'>MapV</a>";
  131. map.addLayer(new ol.layer.Image({
  132. source: new ol.source.Mapv({map: map, dataSet: dataSet1, mapvOptions: options, attributions: dataAttr})
  133. }));
  134. var data2 = [];
  135. for (var key in citys) {
  136. var center = mapv.utilCityCenter.getCenterByCityName(key.replace('市', ''));
  137. data2.push(
  138. {
  139. geometry: {
  140. type: 'Point',
  141. coordinates: [center.lng, center.lat],
  142. },
  143. text: key
  144. }
  145. );
  146. }
  147. var dataSet2 = new mapv.DataSet(data2);
  148. var textOptions = {
  149. draw: 'text',
  150. font: '14px Arial',
  151. fillStyle: 'blue',
  152. shadowColor: 'white',
  153. shadowBlue: 20,
  154. zIndex: 11,
  155. shadowBlur: 10
  156. };
  157. map.addLayer(new ol.layer.Image({
  158. source: new ol.source.Mapv({map: map, dataSet: dataSet2, mapvOptions: textOptions})
  159. }));
  160. setTimeout(function () {
  161. content.text = resources.text_iClient;
  162. overlay.setPosition(map.getView().getCenter());
  163. }, 1000)
  164. });
  165. </script>
  166. </body>
  167. </html>