Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

ImageryLayerFactory.js 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. /**
  2. * @Author: Caven
  3. * @Date: 2020-01-21 15:54:56
  4. */
  5. import { Cesium } from '@dc-modules/namespace'
  6. import ImageryType from './ImageryType'
  7. import AmapImageryProvider from './provider/AmapImageryProvider'
  8. import BaiduImageryProvider from './provider/BaiduImageryProvider'
  9. import GoogleImageryProvider from './provider/GoogleImageryProvider'
  10. import TdtImageryProvider from './provider/TdtImageryProvider'
  11. import TencentImageryProvider from './provider/TencentImageryProvider'
  12. class ImageryLayerFactory {
  13. /**
  14. * Create amap image layer
  15. * @param options
  16. * @returns {AmapImageryProvider}
  17. */
  18. static createAmapImageryLayer(options) {
  19. return new AmapImageryProvider(options)
  20. }
  21. /**
  22. * Create baidu image layer
  23. * @param options
  24. * @returns {BaiduImageryProvider}
  25. */
  26. static createBaiduImageryLayer(options) {
  27. return new BaiduImageryProvider(options)
  28. }
  29. /**
  30. * Create google image layer
  31. * @param options
  32. * @returns {GoogleImageryProvider}
  33. */
  34. static createGoogleImageryLayer(options) {
  35. return new GoogleImageryProvider(options)
  36. }
  37. /**
  38. * Create tdt image layer
  39. * @param options
  40. * @returns {TdtImageryProvider}
  41. */
  42. static createTdtImageryLayer(options) {
  43. return new TdtImageryProvider(options)
  44. }
  45. /**
  46. * Create tencent image layer
  47. * @param options
  48. * @returns {TencentImageryProvider}
  49. */
  50. static createTencentImageryLayer(options) {
  51. return new TencentImageryProvider(options)
  52. }
  53. /**
  54. * Create arcgis image layer
  55. * @param options
  56. * @returns {module:cesium.ArcGisMapServerImageryProvider}
  57. */
  58. static createArcGisImageryLayer(options) {
  59. return new Cesium.ArcGisMapServerImageryProvider(options)
  60. }
  61. /**
  62. * Create single tile image layer
  63. * @param options
  64. * @returns {module:cesium.SingleTileImageryProvider}
  65. */
  66. static createSingleTileImageryLayer(options) {
  67. return new Cesium.SingleTileImageryProvider(options)
  68. }
  69. /**
  70. * Create WMS image layer
  71. * @param options
  72. * @returns {module:cesium.WebMapServiceImageryProvider}
  73. */
  74. static createWMSImageryLayer(options) {
  75. return new Cesium.WebMapServiceImageryProvider(options)
  76. }
  77. /**
  78. * Create WMTS image layer
  79. * @param options
  80. * @returns {module:cesium.WebMapTileServiceImageryProvider}
  81. */
  82. static createWMTSImageryLayer(options) {
  83. return new Cesium.WebMapTileServiceImageryProvider(options)
  84. }
  85. /**
  86. * Create xyz image layer
  87. * @param options
  88. * @returns {module:cesium.UrlTemplateImageryProvider}
  89. */
  90. static createXYZImageryLayer(options) {
  91. return new Cesium.UrlTemplateImageryProvider(options)
  92. }
  93. /**
  94. * Create coord image layer
  95. * @param options
  96. * @returns {module:cesium.TileCoordinatesImageryProvider}
  97. */
  98. static createCoordImageryLayer(options) {
  99. return new Cesium.TileCoordinatesImageryProvider(options)
  100. }
  101. /**
  102. * Create Imagery Layer
  103. * @param type
  104. * @param options
  105. * @returns {any}
  106. */
  107. static createImageryLayer(type, options) {
  108. let imageryLayer = undefined
  109. switch (type) {
  110. case ImageryType.AMAP:
  111. imageryLayer = this.createAmapImageryLayer(options)
  112. break
  113. case ImageryType.BAIDU:
  114. imageryLayer = this.createBaiduImageryLayer(options)
  115. break
  116. case ImageryType.GOOGLE:
  117. imageryLayer = this.createGoogleImageryLayer(options)
  118. break
  119. case ImageryType.TDT:
  120. imageryLayer = this.createTdtImageryLayer(options)
  121. break
  122. case ImageryType.TENCENT:
  123. imageryLayer = this.createTencentImageryLayer(options)
  124. break
  125. case ImageryType.ARCGIS:
  126. imageryLayer = this.createArcGisImageryLayer(options)
  127. break
  128. case ImageryType.SINGLE_TILE:
  129. imageryLayer = this.createSingleTileImageryLayer(options)
  130. break
  131. case ImageryType.WMS:
  132. imageryLayer = this.createWMSImageryLayer(options)
  133. break
  134. case ImageryType.WMTS:
  135. imageryLayer = this.createWMTSImageryLayer(options)
  136. break
  137. case ImageryType.XYZ:
  138. imageryLayer = this.createXYZImageryLayer(options)
  139. break
  140. case ImageryType.COORD:
  141. imageryLayer = this.createCoordImageryLayer(options)
  142. break
  143. default:
  144. break
  145. }
  146. return imageryLayer
  147. }
  148. }
  149. export default ImageryLayerFactory