demo.html 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <link rel="stylesheet" href="./Cesium/Widgets/widgets.css">
  9. <script src="./Cesium/Cesium.js"></script>
  10. <script src="./skyscenery.js"></script>
  11. <style>
  12. html,
  13. body {
  14. height: 100%;
  15. width: 100%;
  16. margin: 0 0;
  17. padding: 0 0;
  18. }
  19. #cesiumContainer {
  20. height: 100%;
  21. width: 100%;
  22. margin: 0 0;
  23. padding: 0 0;
  24. }
  25. </style>
  26. </head>
  27. <body>
  28. <div id="cesiumContainer">
  29. </div>
  30. </body>
  31. <script>
  32. // tk 为天地图密钥,补充后使用demo时
  33. var tk = "";
  34. let viewer = new Skyscenery.Viewer("cesiumContainer", {
  35. animation: false,
  36. timeline: false,
  37. fullscreenButton: false,
  38. infoBox: false,
  39. baseLayerPicker: false,
  40. imageryProvider: new Skyscenery.SingleTileImageryProvider({
  41. url: (function createColorCanvas(color) {
  42. var width = 1,
  43. height = 1;
  44. var canvas = document.createElement("canvas");
  45. canvas.width = width;
  46. canvas.height = height;
  47. var ctx = canvas.getContext("2d");
  48. ctx.fillStyle = color;
  49. ctx.fillRect(0, 0, width, height);
  50. return canvas.toDataURL();
  51. })("#ffffff00"),
  52. rectangle: Skyscenery.Rectangle.fromDegrees(-180.0, -90.0, 180.0, 90.0),
  53. }),
  54. geocoder: false,
  55. homeButton: false,
  56. selectionIndicator: false,
  57. sceneModePicker: false,
  58. navigationHelpButton: false,
  59. });
  60. viewer.imageryLayers.addImageryProvider(
  61. new Skyscenery.WebMapTileServiceImageryProvider({
  62. url: "http://t{s}.tianditu.gov.cn/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=" + tk,
  63. layer: "img",
  64. style: "default",
  65. tileMatrixSetID: "w",
  66. format: "image/jpeg",
  67. subdomains: ["0", "1", "2", "3", "4", "5", "6", "7"],
  68. tileMatrixSetID: "GoogleMapsCompatible",
  69. show: true,
  70. minimumLevel: 1,
  71. maximumLevel: 18,
  72. })
  73. );
  74. viewer.camera.flyTo({
  75. destination: Skyscenery.Cartesian3.fromDegrees(
  76. 120.90235464348983,
  77. 27.945280684840125,
  78. 700,
  79. ),
  80. orientation: {
  81. heading: Skyscenery.Math.toRadians(80),
  82. pitch: Skyscenery.Math.toRadians(-30),
  83. roll: Skyscenery.Math.toRadians(0),
  84. },
  85. });
  86. let plan = Skyscenery.add3DTilesData("plan")
  87. let pianyi = Skyscenery.createMatrix4({
  88. scale: 1.0,
  89. longitude: 120.91824,
  90. latitude: 27.94132,
  91. height: 0,
  92. rx: 0,
  93. ry: 0,
  94. rz: 0,
  95. })
  96. plan.readyPromise.then(function () {
  97. plan.root.transform = pianyi;
  98. });
  99. </script>
  100. </html>