map23DVersion.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. ; (function (window, document, undefined) {
  2. $.ajax({
  3. url: "http://121.43.55.7:10082/activate/verify/verify",//路径
  4. type: "POST", //提交方式
  5. async: false,
  6. data: {
  7. "key": "ce92ac35b727c5749ffa337cae755917",
  8. "address": location.hostname
  9. },// 数据,这里使用的是Json格式进行传输
  10. success: function (result) {//返回数据根据结果进行相应的处理
  11. window.Skyscenery = Cesium
  12. var viewerFunc = Cesium.Viewer;
  13. Cesium = undefined;
  14. delete Skyscenery.VERSION;
  15. window.Skyscenery.version = '1.0.0'
  16. if (typeof module === 'object' && typeof module.exports === 'object') {
  17. module.exports = Skyscenery;
  18. } else if (typeof define === 'function' && define.amd) {
  19. define(Skyscenery);
  20. }
  21. Skyscenery.Viewer.prototype.viewer = null;
  22. Skyscenery.Viewer = function () {
  23. var viewer = new viewerFunc(arguments[0], arguments[1])
  24. Skyscenery.Viewer.prototype.viewer = viewer
  25. return viewer;
  26. }
  27. Skyscenery.add3DTilesData = function (name, viewer) {
  28. var viewerObj = viewer
  29. if (name != undefined) {
  30. if (typeof name != "string") {
  31. throw "name parameter error"
  32. }
  33. } else {
  34. throw "name cannot be empty"
  35. }
  36. if (viewerObj == undefined) {
  37. viewerObj = Skyscenery.Viewer.prototype.viewer
  38. }
  39. try {
  40. var tileset = new Skyscenery.Cesium3DTileset({
  41. url: "http://122.228.13.28:1008/3DTiles/oujiangkou/" + name + "/tileset.json",
  42. skipLevelOfDetail: true, //开启跳级加载
  43. maximumMemoryUsage: 1024, //最大内存占用 推荐显存的一般
  44. preferLeaves: true,
  45. maximumScreenSpaceError: 16,
  46. maximumNumberOfLoadedTiles: 2000,
  47. });
  48. viewerObj.scene.primitives.add(tileset);
  49. return tileset;
  50. } catch (error) {
  51. throw "viewer error"
  52. }
  53. };
  54. Skyscenery.createMatrix4 = function (matrixParam) {
  55. var tileModelTool = matrixParam;
  56. if (matrixParam.scale != undefined) {
  57. if (typeof matrixParam.scale != "number") {
  58. throw "scale parameter error"
  59. }
  60. } else {
  61. matrixParam.scale = 1
  62. }
  63. if (matrixParam.longitude != undefined) {
  64. if (typeof matrixParam.longitude != "number") {
  65. throw "longitude parameter error"
  66. }
  67. } else {
  68. matrixParam.longitude = 116
  69. }
  70. if (matrixParam.latitude != undefined) {
  71. if (typeof matrixParam.latitude != "number") {
  72. throw "latitude parameter error"
  73. }
  74. } else {
  75. matrixParam.latitude = 39
  76. }
  77. if (matrixParam.height != undefined) {
  78. if (typeof matrixParam.height != "number") {
  79. throw "height parameter error"
  80. }
  81. } else {
  82. matrixParam.height = 0
  83. }
  84. if (matrixParam.rx != undefined) {
  85. if (typeof matrixParam.rx != "number") {
  86. throw "rx parameter error"
  87. }
  88. } else {
  89. matrixParam.rx = 0
  90. }
  91. if (matrixParam.ry != undefined) {
  92. if (typeof matrixParam.ry != "number") {
  93. throw "ry parameter error"
  94. }
  95. } else {
  96. matrixParam.ry = 0
  97. }
  98. if (matrixParam.rz != undefined) {
  99. if (typeof matrixParam.rz != "number") {
  100. throw "rz parameter error"
  101. }
  102. } else {
  103. matrixParam.rz = 0
  104. }
  105. var mx = Skyscenery.Matrix3.fromRotationX(
  106. Skyscenery.Math.toRadians(tileModelTool.rx)
  107. );
  108. var my = Skyscenery.Matrix3.fromRotationY(
  109. Skyscenery.Math.toRadians(tileModelTool.ry)
  110. );
  111. var mz = Skyscenery.Matrix3.fromRotationZ(
  112. Skyscenery.Math.toRadians(tileModelTool.rz)
  113. );
  114. var rotationX = Skyscenery.Matrix4.fromRotationTranslation(mx);
  115. var rotationY = Skyscenery.Matrix4.fromRotationTranslation(my);
  116. var rotationZ = Skyscenery.Matrix4.fromRotationTranslation(mz);
  117. //平移 修改经纬度
  118. var position = Skyscenery.Cartesian3.fromDegrees(
  119. tileModelTool.longitude,
  120. tileModelTool.latitude,
  121. tileModelTool.height
  122. );
  123. var m = Skyscenery.Transforms.eastNorthUpToFixedFrame(position);
  124. //旋转、平移矩阵相乘
  125. Skyscenery.Matrix4.multiply(m, rotationX, m);
  126. Skyscenery.Matrix4.multiply(m, rotationY, m);
  127. Skyscenery.Matrix4.multiply(m, rotationZ, m);
  128. //缩放 修改缩放比例
  129. var scale = Skyscenery.Matrix4.fromUniformScale(tileModelTool.scale);
  130. Skyscenery.Matrix4.multiply(m, scale, m);
  131. return m;
  132. };
  133. },
  134. error: function (err) {
  135. console.log("Failed to import plug-in package. Please contact technical personnel!")
  136. }
  137. });
  138. }(window, document));