mapvNycTaxi.html 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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. <script type="text/javascript" include="mapv" src="../../dist/ol/include-ol.js"></script>
  11. <title data-i18n="resources.title_mapvNyvTaxi"></title>
  12. <style type="text/css">
  13. .ol-popup {
  14. position: absolute;
  15. top: 10px;
  16. right: 10px;
  17. }
  18. </style>
  19. </head>
  20. <body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%; position: absolute;top: 0;">
  21. <div id="popup" class="ol-popup" style='width:20%'>
  22. </div>
  23. <div id="map" style="width: 100%;height:100%"></div>
  24. <script type="text/javascript" include="jquery,widgets,dat-gui" src="../js/include-web.js"></script>
  25. <script type="text/javascript">
  26. var map = new ol.Map({
  27. target: 'map',
  28. controls: ol.control.defaults({attributionOptions: {collapsed: false}})
  29. .extend([new ol.supermap.control.Logo()]),
  30. view: new ol.View({
  31. center: ol.proj.transform([-73.931577, 40.745654], 'EPSG:4326', 'EPSG:3857'),
  32. zoom: 11,
  33. projection: 'EPSG:3857',
  34. multiWorld: true
  35. })
  36. });
  37. var host = window.isLocal ? window.server : "https://iserver.supermap.io";
  38. var url = host + "/iserver/services/map-china400/rest/maps/ChinaDark";
  39. map.addLayer(new ol.layer.Tile({
  40. source: new ol.source.TileSuperMapRest({
  41. url: url,
  42. attributions: "Map Data © <a href='https://www.supermapol.com/' target='_blank'> SuperMap Online</a>"
  43. })
  44. }));
  45. widgets.loader.showLoader();
  46. $.get('../data/nyc-taxi.csv', function (csvstr) {
  47. widgets.loader.removeLoader();
  48. var dataSet = mapv.csv.getDataSet(csvstr);
  49. dataSet.initGeometry(function (data) {
  50. data = {
  51. type: 'Point',
  52. coordinates: ol.proj.transform([parseFloat(data.lng), parseFloat(data.lat)], 'EPSG:4326', 'EPSG:3857')
  53. };
  54. return data;
  55. });
  56. dataSet.initGeometry();
  57. var mapvOptions = {
  58. size: 1.5,
  59. context: 'webgl',
  60. fillStyle: 'rgba(250, 50, 50, 0.8)',
  61. draw: 'simple'
  62. };
  63. var options = {
  64. map: map, dataSet: dataSet, mapvOptions: mapvOptions, attributions: resources.text_dataSources + "<a href='https://www1.nyc.gov/site/tlc/about/tlc-trip-record-data.page' target='_blank'>NYCTaxi(" + resources.text_NYTaxiCarPoint + ")</a> © 2018 " + resources.title_3baidu + " MapV with <span>© <a href='https://iclient.supermap.io' target='_blank'>SuperMap iClient</a></span>"
  65. };
  66. var layer = new ol.layer.Image({
  67. source: new ol.source.Mapv(options)
  68. });
  69. initDatGUI(layer, mapvOptions);
  70. map.addLayer(layer);
  71. });
  72. //设置菜单
  73. function initDatGUI(layer, options) {
  74. var gui = new dat.GUI();
  75. var popup = document.getElementById('popup');
  76. popup.appendChild(gui.domElement);
  77. gui.add(options, 'size', 0.1, 10).onFinishChange(finished);
  78. gui.addColor(options, 'fillStyle').onChange(finished);
  79. function finished() {
  80. layer.getSource().update(options);
  81. }
  82. var control = new ol.control.Control({element: popup});
  83. control.setMap(map);
  84. map.addControl(control);
  85. }
  86. </script>
  87. </body>
  88. </html>