Load.js 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. import { floorplanService } from './Service/FloorplanService.js'
  2. import { wallService } from './Service/WallService.js'
  3. import { tagService } from './Service/TagService'
  4. import { signService } from './Service/SignService'
  5. import { rectangleService } from './Service/RectangleService.js'
  6. import { circleService } from './Service/CircleService.js'
  7. import { arrowService } from './Service/ArrowService.js'
  8. import { iconService } from './Service/IconService.js'
  9. import { tableService } from './Service/TableService.js'
  10. export default class Load {
  11. constructor(layer) {
  12. this.layer = layer
  13. this.version = 'v1.1'
  14. this.vectorsJson = null
  15. // 保存当前的数据
  16. this.saveFloors = []
  17. this.newVectorId = null
  18. }
  19. load(floorsData) {
  20. if(!floorsData||!floorsData.floors){
  21. floorplanService.initFloor(0)
  22. return;
  23. }
  24. for (let i = 0; i < floorsData.length; ++i) {
  25. let floor = floorsData[i]
  26. floorplanService.initFloor(i)
  27. for (let key in floor.points) {
  28. wallService.createPoint(floor.points[key].x, floor.points[key].y, floor.points[key].vectorId, i)
  29. }
  30. for (let key in floor.walls) {
  31. wallService.createWall(floor.walls[key].start, floor.walls[key].end, floor.walls[key].vectorId, i)
  32. }
  33. for (let key in floor.tags) {
  34. let tag = tagService.createTag(floor.tags[key].center, floor.tags[key].vectorId, i)
  35. tag.setValue(floor.tags[key].value)
  36. }
  37. for (let key in floor.tables) {
  38. let table = tableService.createTable(floor.tables[key].center, floor.tables[key].vectorId, i)
  39. table.rowLen = floor.tables[key].rowLen
  40. table.colLen = floor.tables[key].colLen
  41. table.points = floor.tables[key].points
  42. table.cells = floor.tables[key].cells
  43. }
  44. for (let key in floor.cells) {
  45. let cell = tableService.createCell(floor.cells[key].parent,floor.cells[key].cellId, i)
  46. cell.width = floor.cells[key].width
  47. cell.height = floor.cells[key].height
  48. cell.value = floor.cells[key].value
  49. cell.colIndex = floor.cells[key].colIndex
  50. cell.rowIndex = floor.cells[key].rowIndex
  51. }
  52. for (let key in floor.rectangles) {
  53. rectangleService.createRectangle(floor.rectangles[key].points[0], floor.rectangles[key].points[2], floor.rectangles[key].vectorId,i)
  54. }
  55. for (let key in floor.circles) {
  56. circleService.createCircle2(floor.circles[key].center, floor.circles[key].radius, floor.circles[key].vectorId,i)
  57. }
  58. for (let key in floor.arrows) {
  59. arrowService.createArrow(floor.arrows[key].startPoint,floor.arrows[key].endPoint,floor.walls[key].vectorId,i)
  60. }
  61. for (let key in floor.icons) {
  62. iconService.createIcon2(floor.icons[key].center,floor.icons[key].radius,floor.icons[key].value,floor.icons[key].vectorId,i)
  63. }
  64. //要更新value
  65. for (let key in floor.signs) {
  66. let sign = signService.createSign(floor.signs[key].center, floor.signs[key].geoType, floor.signs[key].vectorId,i)
  67. sign.angle = floor.signs[key].angle
  68. }
  69. floorplanService.createTitle(floor.title.value, floor.title.vectorId, i)
  70. floorplanService.createBgImage(floor.image.src, floor.image.vectorId, i)
  71. floorplanService.createCompass(floor.compass.angle, floor.compass.vectorId, i)
  72. }
  73. }
  74. }