12_graphicLayerClover.html 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <!--********************************************************************
  2. * Copyright© 2000 - 2021 SuperMap Software Co.Ltd. All rights reserved.
  3. *********************************************************************-->
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. <title data-i18n="resources.title_graphicLayerClovers"></title>
  8. <script type="text/javascript" src="../js/include-web.js"></script>
  9. </head>
  10. <body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
  11. <div id="map" style="margin:0 auto;width: 100%;height: 100%"></div>
  12. <script type="text/javascript" src="../../dist/leaflet/include-leaflet.js"></script>
  13. <script type="text/javascript">
  14. var host = window.isLocal ? window.server : "https://iserver.supermap.io";
  15. var map;
  16. //初始化地图
  17. map = L.map('map', {
  18. preferCanvas: true,
  19. crs: L.CRS.EPSG4326,
  20. center: {lon: 0, lat: 0},
  21. maxZoom: 18,
  22. zoom: 6
  23. });
  24. var url = host + "/iserver/services/map-world/rest/maps/World";
  25. L.supermap.tiledMapLayer(url).addTo(map);
  26. addGraphicLayer();
  27. function addGraphicLayer() {
  28. var count = 180000;
  29. var graphics = [];
  30. var e = 45;
  31. var clovers = [];
  32. var radius = [10, 14, 18];
  33. var styles = [{angle: 60, count: 3}, {angle: 45, count: 4}, {angle: 30, count: 6}];
  34. //三叶草样式的种类
  35. var symbolCount = radius.length * styles.length;
  36. var randCount = 9;
  37. //创建三叶草样式
  38. for (var i = 0; i < radius.length; i++) {
  39. for (var j = 0; j < styles.length; j++) {
  40. clovers.push(L.supermap.cloverStyle({
  41. radius: radius[i],
  42. angle: styles[j].angle,
  43. count: styles[j].count,
  44. color: "rgba(0,166,0,1)",
  45. fillColor: "rgba(0,200,0,0.6)",
  46. fillOpacity: 1,
  47. fill: true
  48. }));
  49. }
  50. }
  51. //设置每个点的经纬度和传入三叶草样式
  52. for (var i = 0; i < count; ++i) {
  53. var coordinates = [2 * e * Math.random() - e, 2 * e * Math.random() - e];
  54. graphics[i] = L.supermap.graphic({
  55. latLng: L.latLng(coordinates[0], coordinates[1]),
  56. style: clovers[Math.floor(Math.random() * randCount)].getStyle()
  57. });
  58. var pointVector = graphics[i];
  59. pointVector.style = {
  60. image: clovers[i % symbolCount]
  61. };
  62. graphics.push(pointVector)
  63. }
  64. //将三叶草要素风格画在地图上
  65. L.supermap.graphicLayer(graphics, {render: "canvas"}).addTo(map);
  66. }
  67. </script>
  68. </body>
  69. </html>