12_graphicLayerImage.html 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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_graphicLayerTaxi"></title>
  8. <script type="text/javascript" include="papaparse,widgets" 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, imagePath = '../img/taxi.png';
  16. map = L.map('map', {
  17. preferCanvas: true,
  18. center: [40.74650, -73.89109999999999],
  19. maxZoom: 18,
  20. zoom: 12
  21. });
  22. var url = host + "/iserver/services/map-china400/rest/maps/ChinaDark";
  23. L.supermap.tiledMapLayer(url).addTo(map);
  24. addGraphicLayer();
  25. function addGraphicLayer() {
  26. //将数据可视化展示
  27. widgets.loader.showLoader();
  28. $.get('../data/nyc_taxi_18W.csv', function (nycData) {
  29. var features = Papa.parse(nycData, {
  30. skipEmptyLines: true,
  31. header: true
  32. }).data;
  33. var count = features.length;
  34. var graphics = [];
  35. var imageStyles = [];
  36. //创建图片的样式
  37. var img = new Image();
  38. img.src = imagePath;
  39. img.onload = function () {
  40. imageStyles.push(L.supermap.imageStyle({
  41. img: img,
  42. anchor: [16, 16]
  43. }));
  44. //设置每个点的经纬度和图片的样式
  45. for (var i = 0; i < count; ++i) {
  46. var coordinates = [Number(features[i].X), Number(features[i].Y)];
  47. if (coordinates[0] === coordinates[1]) {
  48. continue;
  49. }
  50. graphics[i] = L.supermap.graphic({
  51. latLng: L.latLng(coordinates[1], coordinates[0]),
  52. style: imageStyles[0].getStyle()
  53. });
  54. }
  55. //绘制图层
  56. L.supermap.graphicLayer(graphics, {
  57. render: 'canvas',
  58. onClick: function (graphic, evt) {
  59. L.popup().setLatLng(evt.latlng)
  60. .setContent('<p>' + resources.text_latLng + ':<br>' + graphic.getLatLng()
  61. .lng + ',<br>' + graphic.getLatLng().lat + '</p>')
  62. .openOn(map);
  63. }
  64. }).addTo(map);
  65. widgets.loader.removeLoader();
  66. };
  67. })
  68. }
  69. </script>
  70. </body>
  71. </html>