graphicLayer_4326.html 4.1 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. <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
  9. <script type="text/javascript" include="jquery,papaparse,widgets" src="../js/include-web.js"></script>
  10. <title data-i18n="resources.title_mb_graphicLayerWGS84"></title>
  11. <style>
  12. body {
  13. margin: 0;
  14. padding: 0;
  15. }
  16. #map {
  17. position: absolute;
  18. top: 0;
  19. bottom: 0;
  20. width: 100%;
  21. }
  22. .mapboxgl-marker {
  23. width: 10px;
  24. height: 10px;
  25. background: red;
  26. margin-top: -5px;
  27. margin-left: -5px;
  28. border-radius: 5px;
  29. cursor: pointer;
  30. }
  31. </style>
  32. </head>
  33. <body>
  34. <script type="text/javascript" include='mapbox-gl-enhance,deck' src="../../dist/mapboxgl/include-mapboxgl.js"></script>
  35. <div id='map'></div>
  36. <script type="text/javascript">
  37. var host = window.isLocal ? window.server : "https://iserver.supermap.io";
  38. var map = new mapboxgl.Map({
  39. container: 'map',
  40. style: {
  41. "version": 8,
  42. "sources": {
  43. "raster-tiles": {
  44. "type": "raster",
  45. "tiles": [host + '/iserver/services/map-world/rest/maps/World'],
  46. "rasterSource":"iserver",
  47. "tileSize": 256
  48. }
  49. },
  50. "layers": [{
  51. "id": "simple-tiles",
  52. "type": "raster",
  53. "source": "raster-tiles",
  54. "minzoom": 0,
  55. "maxzoom": 22
  56. }]
  57. },
  58. crs: mapboxgl.CRS.EPSG4326,
  59. center: [-73.91426, 40.7594],
  60. zoom: 10.64
  61. });
  62. map.addControl(new mapboxgl.NavigationControl(), 'top-left');
  63. widgets.loader.showLoader("data loading...");
  64. map.on('load', function () {
  65. $.get('../data/nyc-taxi.csv', function (csvstr) {
  66. widgets.loader.removeLoader();
  67. var result = Papa.parse(csvstr, {
  68. skipEmptyLines: true,
  69. header: true
  70. });
  71. addLayer(result.data);
  72. });
  73. function addLayer(points) {
  74. var graphics = [],
  75. popup = new mapboxgl.Popup({
  76. closeOnClick: false
  77. }).addTo(map);
  78. for (var i = 0; i < points.length; i++) {
  79. var lngLat = {
  80. lng: parseFloat(points[i].lng),
  81. lat: parseFloat(points[i].lat)
  82. };
  83. /**
  84. * 可以单独给要素设置颜色和半径:
  85. * new mapboxgl.supermap.Graphic(lngLat,{
  86. * color:[255,0,0],
  87. * radius:40
  88. * });
  89. */
  90. graphics.push(new mapboxgl.supermap.Graphic(lngLat));
  91. }
  92. var graphicStyle = {
  93. color: [255, 0, 0],
  94. radius: 20
  95. };
  96. graphicLayer = new mapboxgl.supermap.GraphicLayer("graphic", {
  97. graphics: graphics,
  98. radius: graphicStyle.radius,
  99. color: graphicStyle.color,
  100. highlightColor: [255, 0, 0, 255],
  101. onClick: function (e) {
  102. if (!popup.isOpen()) {
  103. popup.addTo(map);
  104. }
  105. popup.setLngLat(e.lngLat)
  106. .setHTML("position:" + JSON.stringify(e.lngLat))
  107. }
  108. });
  109. map.addLayer(graphicLayer);
  110. }
  111. });
  112. </script>
  113. </body>
  114. </html>