mvtVectorTile_4326.html 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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_mvtVectorLayer4326"></title>
  9. <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
  10. <style>
  11. body {
  12. margin: 0;
  13. padding: 0;
  14. }
  15. #map {
  16. position: absolute;
  17. top: 0;
  18. bottom: 0;
  19. width: 100%;
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <div id='map'></div>
  25. <script type="text/javascript" include="jquery" src="../js/include-web.js"></script>
  26. <script type="text/javascript" include="mapbox-gl-enhance" src="../../dist/mapboxgl/include-mapboxgl.js"></script>
  27. <script type="text/javascript">
  28. $.get(
  29. 'https://iserver.supermap.io/iserver/services/map-mvt-California/rest/maps/California/tileFeature/vectorstyles.json?type=MapBox_GL&styleonly=true&tileURLTemplate=ZXY',
  30. function (style) {
  31. var host = window.isLocal ? window.server : "https://iserver.supermap.io";
  32. style.layers[0].paint["background-color"] = "rgba(168,209,221,=00)";
  33. map = new mapboxgl.Map({
  34. container: 'map',
  35. renderWorldCopies: false,
  36. isConstrain: true,
  37. style: style,
  38. center: [-122.2543440112645, 38.236059513982674],
  39. zoom: 13,
  40. crs: mapboxgl.CRS.EPSG4326
  41. });
  42. map.on('load', function () {
  43. map.addLayer({
  44. "id": "simple-tiles",
  45. "type": "raster",
  46. "source": {
  47. "type": "raster",
  48. "tiles": [host + '/iserver/services/map-world/rest/maps/World'],
  49. "rasterSource":"iserver",
  50. "tileSize": 256
  51. },
  52. "minzoom": 0,
  53. "maxzoom": 22
  54. }, 'background')
  55. //点选操作
  56. map.addLayer({
  57. "id": "line-highlighted",
  58. "type": "line",
  59. "source": "California",
  60. "source-layer": "Trunk_L@California",
  61. "paint": {
  62. "line-color": "#0000ff",
  63. "line-width": 10,
  64. "line-opacity": 0.75
  65. },
  66. "filter": ["in", "NAME", ""]
  67. });
  68. map.on('click', function (e) {
  69. var bbox = [
  70. [e.point.x - 5, e.point.y - 5],
  71. [e.point.x + 5, e.point.y + 5]
  72. ];
  73. var features = map.queryRenderedFeatures(bbox, {
  74. layers: ["Trunk_L@California#6_1"]
  75. });
  76. var filter = features.reduce(function (memo, feature) {
  77. if (feature.properties.NAME) {
  78. memo.push(feature.properties.NAME);
  79. }
  80. return memo;
  81. }, ['in', 'NAME']);
  82. map.setFilter("line-highlighted", filter);
  83. });
  84. });
  85. })
  86. </script>
  87. </body>
  88. </html>