beifen.html 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. <style>
  8. * {
  9. padding: 0 0;
  10. margin: 0 0;
  11. }
  12. html,
  13. body,
  14. #viewerContainer {
  15. width: 100%;
  16. height: 100%;
  17. }
  18. </style>
  19. <link rel="stylesheet" href="../skyscenery_example/lib/Cesium/Widgets/widgets.css">
  20. </head>
  21. <body>
  22. <div id="viewerContainer"></div>
  23. </body>
  24. <script src="../skyscenery_example/lib/Cesium/Cesium.js"></script>
  25. <script>
  26. var viewer;
  27. viewer = new Cesium.Viewer('viewerContainer', {
  28. animation: false, //是否创建动画小器件,左下角仪表
  29. baseLayerPicker: false, //是否显示图层选择器
  30. imageryProvider: new Cesium.SingleTileImageryProvider({
  31. url: (function createColorCanvas(color) {
  32. var width = 1,
  33. height = 1;
  34. var canvas = document.createElement("canvas");
  35. canvas.width = width;
  36. canvas.height = height;
  37. var ctx = canvas.getContext("2d");
  38. ctx.fillStyle = color;
  39. ctx.fillRect(0, 0, width, height);
  40. return canvas.toDataURL();
  41. })("#ffffff00"),
  42. rectangle: Cesium.Rectangle.fromDegrees(-180.0, -90.0, 180.0, 90.0),
  43. }),
  44. fullscreenButton: false, //是否显示全屏按钮
  45. geocoder: false, //是否显示geocoder小器件,右上角查询按钮
  46. homeButton: false, //是否显示Home按钮
  47. infoBox: false, //是否显示信息框
  48. sceneModePicker: false, //是否显示3D/2D选择器
  49. selectionIndicator: false, //是否显示选取指示器组件
  50. timeline: false, //是否显示时间轴
  51. navigationHelpButton: false, //是否显示右上角的帮助按钮
  52. scene3DOnly: true, //如果设置为true,则所有几何图形以3D模式绘制以节约GPU资源
  53. infoBox: false, //是否显示点击要素之后显示的信息
  54. shouldAnimate: false, //是否自动播放
  55. });
  56. viewer.camera.setView({
  57. destination: Cesium.Cartesian3.fromDegrees(121.50201851567044, 31.1343102783797, 193456.31991791818), // 设置位置
  58. orientation: {
  59. heading: Cesium.Math.toRadians(0.0), // 方向
  60. pitch: Cesium.Math.toRadians(-90.0), // 倾斜角度
  61. roll: 0
  62. }
  63. });
  64. var arcgisImageryProvider = new Cesium.ArcGisMapServerImageryProvider({
  65. url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"
  66. });
  67. viewer.scene.imageryLayers.addImageryProvider(arcgisImageryProvider);
  68. // 创建KML数据源
  69. const kmlDataSource = new Cesium.KmlDataSource();
  70. // 加载KML文件
  71. // kmlDataSource.load("http://10.235.245.174:10096/geoserver/xml_server/wms/kml?layers=xml_server%3ASR_50M", {
  72. // kmlDataSource.load("/proxy_geoserver/geoserver/xml_server/wms/kml?layers=xml_server%3ASR_50M", {
  73. // kmlDataSource.load("http://121.43.55.7:8889/geoserver/kml/wms?service=WMS&version=1.1.0&request=GetMap&layers=kml%3A%E5%AE%9D%E5%B1%B1%E5%8C%BA_%E7%99%BE%E5%BA%A6%E5%BB%BA%E7%AD%91&bbox=121.32005044%2C31.26720841%2C121.51945165312986%2C31.49164427&width=682&height=768&srs=EPSG%3A4326&styles=&format=application%2Fvnd.google-earth.kml", {
  74. kmlDataSource.load("http://121.43.55.7:8889/geoserver/kml/wms?service=WMS&version=1.1.0&request=GetMap&layers=kml%3Ash-16-3-2-4326&bbox=121.09680174095568%2C30.581181555630494%2C121.55822451689005%2C30.97761267252767&width=768&height=659&srs=EPSG%3A4326&styles=&format=application%2Fvnd.google-earth.kml", {
  75. // kmlDataSource.load("./kml-SR_50M.kml", {
  76. // kmlDataSource.load("./kml-________ (1).kml", {
  77. // kmlDataSource.load("./facilities.kml", {
  78. // kmlDataSource.load("./xml_server-SR_50M.kml", {
  79. camera: viewer.scene.camera,
  80. canvas: viewer.scene.canvas,
  81. clampToGround: true // 根据需要设置是否贴地
  82. }).then(function (dataSources) {
  83. // 将KML数据源添加到Cesium Viewer
  84. viewer.dataSources.add(dataSources);
  85. // 可以设置KML的可见性
  86. kmlDataSource.show = true;
  87. // 可以设置KML样式
  88. // kmlDataSource.style = {
  89. // // 自定义样式
  90. // };
  91. }).otherwise(function (error) {
  92. // 处理错误
  93. console.error(error);
  94. });
  95. // 宝山shp wms 服务
  96. let baseUrl = 'http://121.43.55.7:8889/geoserver/kml/wms';
  97. var provider1 = new Cesium.WebMapServiceImageryProvider({
  98. url: baseUrl,
  99. enablePickFeatures: true,
  100. rectangle: Cesium.Rectangle.fromDegrees(121.32005044,31.26720841,121.51945165312986,31.49164427),
  101. layers: 'kml:宝山区_百度建筑',
  102. parameters: {
  103. TRANSPARENT: true,
  104. format: 'image/png',
  105. version: '1.1.1',
  106. service: 'WMS'
  107. }
  108. });
  109. // 栅格 wms 服务
  110. // http://121.43.55.7:8889/geoserver/kml/wms?service=wms&request=GetMap&version=1.1.1&format=image/png&layers=kml:sh-16-3-2-4326&styles=raster&height=659&width=768&transparent=true&bbox=121.09680174095568,30.581181555630494,121.55822451689005,30.97761267252767&srs=EPSG:4326
  111. var provider2 = new Cesium.WebMapServiceImageryProvider({
  112. url: baseUrl,
  113. enablePickFeatures: true,
  114. rectangle: Cesium.Rectangle.fromDegrees(121.09680174095568, 30.581181555630494, 121.55822451689005, 30.97761267252767),
  115. layers: 'kml:sh-16-3-2-4326',
  116. parameters: {
  117. TRANSPARENT: true,
  118. format: 'image/jpeg',
  119. version: '1.1.1',
  120. service: 'WMS'
  121. }
  122. });
  123. // var provider3 = new Cesium.WebMapServiceImageryProvider({
  124. // url: baseUrl,
  125. // enablePickFeatures: true,
  126. // rectangle: Cesium.Rectangle.fromDegrees(-179.99999999999997,-89.99999999998201,179.99999999996405,90.0),
  127. // layers: 'kml:SR_50M',
  128. // parameters: {
  129. // TRANSPARENT: true,
  130. // format: 'image/jpeg',
  131. // version: '1.1.1',
  132. // service: 'WMS'
  133. // }
  134. // });
  135. // viewer.scene.imageryLayers.addImageryProvider(provider3)
  136. </script>
  137. </html>