mapVLayerPoint.html 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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. <title data-i18n="resources.title_mapvNyvTaxi"></title>
  9. <script type="text/javascript" include="jquery,widgets,dat-gui" src="../js/include-web.js"></script>
  10. </head>
  11. <body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
  12. <div id="map" style="margin:0 auto;width: 100%;height: 100%"></div>
  13. <script type="text/javascript" include="mapv" src="../../dist/leaflet/include-leaflet.js"></script>
  14. <script type="text/javascript">
  15. var map = L.map('map', {
  16. center: [40.73231, -73.90086],
  17. zoom: 11,
  18. });
  19. var host = window.isLocal ? window.server : "https://iserver.supermap.io";
  20. var url = host + "/iserver/services/map-china400/rest/maps/ChinaDark";
  21. L.supermap.tiledMapLayer(url).addTo(map);
  22. loadData();
  23. function loadData() {
  24. widgets.loader.showLoader();
  25. $.get('../data/nyc-taxi.csv', function (csvstr) {
  26. widgets.loader.removeLoader();
  27. var options = {
  28. size: 1.5,
  29. context: 'webgl',
  30. fillStyle: 'rgba(238, 68, 68, 0.8)',
  31. draw: 'simple'
  32. };
  33. var dataSet = mapv.csv.getDataSet(csvstr);
  34. dataSet.initGeometry();
  35. var dataAttr = "数据来源<a target='_blank' href='http://www.nyc.gov/html/tlc/html/about/trip_record_data.shtml'>NYC Taxi</a>,";
  36. var layer = L.supermap.mapVLayer(dataSet, options, {attributionPrefix: dataAttr});
  37. layer.on('loaded', function () {
  38. initDatGUI(layer, options)
  39. });
  40. layer.addTo(map);
  41. });
  42. //设置菜单
  43. function initDatGUI(layer, options) {
  44. var gui = new dat.GUI();
  45. var configDiv = L.DomUtil.create('div');
  46. configDiv.appendChild(gui.domElement);
  47. gui.add(options, 'size', 0.1, 10).onFinishChange(finished);
  48. gui.addColor(options, 'fillStyle').onChange(finished);
  49. function finished() {
  50. layer.update({
  51. options: options
  52. });
  53. }
  54. var configControl = L.control({position: 'topright'});
  55. configControl.onAdd = function () {
  56. return configDiv;
  57. };
  58. configControl.addTo(map);
  59. handleMapEvent(configDiv, map);
  60. }
  61. }
  62. function handleMapEvent(div, map) {
  63. if (!div || !map) {
  64. return;
  65. }
  66. div.addEventListener('mouseover', function () {
  67. map.dragging.disable();
  68. map.scrollWheelZoom.disable();
  69. map.doubleClickZoom.disable();
  70. });
  71. div.addEventListener('mouseout', function () {
  72. map.dragging.enable();
  73. map.scrollWheelZoom.enable();
  74. map.doubleClickZoom.enable();
  75. });
  76. }
  77. </script>
  78. </body>
  79. </html>