@mapless/core 0.0.6 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/index.js +4451 -565
  2. package/dist/types/Mapless/Base.d.ts +4 -0
  3. package/dist/types/Mapless/Base.d.ts.map +1 -1
  4. package/dist/types/Mapless/core/manager.d.ts +1 -1
  5. package/dist/types/Mapless/core/manager.d.ts.map +1 -1
  6. package/dist/types/Mapless/icons/icons.d.ts +1 -0
  7. package/dist/types/Mapless/icons/icons.d.ts.map +1 -1
  8. package/dist/types/Mapless/index.d.ts +5 -0
  9. package/dist/types/Mapless/index.d.ts.map +1 -1
  10. package/dist/types/Mapless/layer/FixedRectangleLayer.d.ts +83 -0
  11. package/dist/types/Mapless/layer/FixedRectangleLayer.d.ts.map +1 -0
  12. package/dist/types/Mapless/layer/RectangleLayer.d.ts +105 -0
  13. package/dist/types/Mapless/layer/RectangleLayer.d.ts.map +1 -0
  14. package/dist/types/Mapless/layer/index.d.ts +4 -0
  15. package/dist/types/Mapless/layer/index.d.ts.map +1 -0
  16. package/dist/types/Mapless/layer/types.d.ts +39 -0
  17. package/dist/types/Mapless/layer/types.d.ts.map +1 -0
  18. package/dist/types/Mapless/mana/boundary.d.ts +1 -1
  19. package/dist/types/Mapless/mana/boundary.d.ts.map +1 -1
  20. package/dist/types/Mapless/mana/cluster.d.ts +5 -5
  21. package/dist/types/Mapless/mana/cluster.d.ts.map +1 -1
  22. package/dist/types/Mapless/mana/curve.d.ts +1 -1
  23. package/dist/types/Mapless/mana/curve.d.ts.map +1 -1
  24. package/dist/types/Mapless/mana/heatmap.d.ts +1 -0
  25. package/dist/types/Mapless/mana/heatmap.d.ts.map +1 -1
  26. package/dist/types/Mapless/mana/imagedata.d.ts +1 -0
  27. package/dist/types/Mapless/mana/imagedata.d.ts.map +1 -1
  28. package/dist/types/Mapless/mana/line.d.ts +1 -0
  29. package/dist/types/Mapless/mana/line.d.ts.map +1 -1
  30. package/dist/types/Mapless/mana/marker.d.ts +1 -0
  31. package/dist/types/Mapless/mana/marker.d.ts.map +1 -1
  32. package/dist/types/Mapless/mana/movable.d.ts +1 -1
  33. package/dist/types/Mapless/mana/movable.d.ts.map +1 -1
  34. package/dist/types/Mapless/mana/newstation.d.ts +6 -6
  35. package/dist/types/Mapless/mana/newstation.d.ts.map +1 -1
  36. package/dist/types/Mapless/mana/node.d.ts +5 -4
  37. package/dist/types/Mapless/mana/node.d.ts.map +1 -1
  38. package/dist/types/Mapless/mana/oldstation.d.ts +1 -1
  39. package/dist/types/Mapless/mana/oldstation.d.ts.map +1 -1
  40. package/dist/types/Mapless/mana/polygon.d.ts +1 -0
  41. package/dist/types/Mapless/mana/polygon.d.ts.map +1 -1
  42. package/dist/types/Mapless/mana/routes.d.ts +1 -0
  43. package/dist/types/Mapless/mana/routes.d.ts.map +1 -1
  44. package/dist/types/Mapless/mana/shape.d.ts +1 -0
  45. package/dist/types/Mapless/mana/shape.d.ts.map +1 -1
  46. package/dist/types/Mapless/mana/step.d.ts +1 -0
  47. package/dist/types/Mapless/mana/step.d.ts.map +1 -1
  48. package/dist/types/Mapless/mana/track.d.ts +1 -0
  49. package/dist/types/Mapless/mana/track.d.ts.map +1 -1
  50. package/dist/types/Mapless/mana-3d/airspace.d.ts +75 -0
  51. package/dist/types/Mapless/mana-3d/airspace.d.ts.map +1 -0
  52. package/dist/types/Mapless/mana-3d/elevatedLine.d.ts +37 -0
  53. package/dist/types/Mapless/mana-3d/elevatedLine.d.ts.map +1 -0
  54. package/dist/types/Mapless/mana-3d/index.d.ts +7 -0
  55. package/dist/types/Mapless/mana-3d/index.d.ts.map +1 -0
  56. package/dist/types/Mapless/mana-3d/mapModel.d.ts +206 -0
  57. package/dist/types/Mapless/mana-3d/mapModel.d.ts.map +1 -0
  58. package/dist/types/Mapless/mana-three/basicObject.d.ts +142 -0
  59. package/dist/types/Mapless/mana-three/basicObject.d.ts.map +1 -0
  60. package/dist/types/Mapless/mana-three/curve3d.d.ts +83 -0
  61. package/dist/types/Mapless/mana-three/curve3d.d.ts.map +1 -0
  62. package/dist/types/Mapless/mana-three/index.d.ts +6 -0
  63. package/dist/types/Mapless/mana-three/index.d.ts.map +1 -0
  64. package/dist/types/Mapless/mana-three/line2Manager.d.ts +146 -0
  65. package/dist/types/Mapless/mana-three/line2Manager.d.ts.map +1 -0
  66. package/dist/types/Mapless/mana-three/model.d.ts +46 -0
  67. package/dist/types/Mapless/mana-three/model.d.ts.map +1 -0
  68. package/dist/types/Mapless/mana-three/three.d.ts +144 -0
  69. package/dist/types/Mapless/mana-three/three.d.ts.map +1 -0
  70. package/dist/types/Mapless/path/PathTracker.d.ts +151 -0
  71. package/dist/types/Mapless/path/PathTracker.d.ts.map +1 -0
  72. package/dist/types/Mapless/path/attach.d.ts +22 -0
  73. package/dist/types/Mapless/path/attach.d.ts.map +1 -0
  74. package/dist/types/Mapless/path/index.d.ts +5 -0
  75. package/dist/types/Mapless/path/index.d.ts.map +1 -0
  76. package/dist/types/Mapless/path/path.d.ts +131 -0
  77. package/dist/types/Mapless/path/path.d.ts.map +1 -0
  78. package/dist/types/Mapless/path/strategies/base.d.ts +72 -0
  79. package/dist/types/Mapless/path/strategies/base.d.ts.map +1 -0
  80. package/dist/types/Mapless/path/strategies/click.d.ts +53 -0
  81. package/dist/types/Mapless/path/strategies/click.d.ts.map +1 -0
  82. package/dist/types/Mapless/path/strategies/free.d.ts +45 -0
  83. package/dist/types/Mapless/path/strategies/free.d.ts.map +1 -0
  84. package/dist/types/Mapless/path/strategies/index.d.ts +4 -0
  85. package/dist/types/Mapless/path/strategies/index.d.ts.map +1 -0
  86. package/dist/types/Mapless/types.d.ts +12 -11
  87. package/dist/types/Mapless/types.d.ts.map +1 -1
  88. package/dist/types/Three/MapThree.d.ts +117 -0
  89. package/dist/types/Three/MapThree.d.ts.map +1 -0
  90. package/dist/types/Three/ModelCache.d.ts +68 -0
  91. package/dist/types/Three/ModelCache.d.ts.map +1 -0
  92. package/dist/types/Three/types.d.ts +67 -0
  93. package/dist/types/Three/types.d.ts.map +1 -0
  94. package/dist/types/index.d.ts +3 -1
  95. package/dist/types/index.d.ts.map +1 -1
  96. package/package.json +8 -4
@@ -1 +1 @@
1
- {"version":3,"file":"oldstation.d.ts","sourceRoot":"","sources":["../../../../src/Mapless/mana/oldstation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAE9E,KAAK,mBAAmB,GAAG,SAAS,GAAG;IACrC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAgBF;;;;;GAKG;AACH,cAAM,iBAAkB,SAAQ,WAAW,CACzC,oBAAoB,EACpB,mBAAmB,CACpB;IACC,OAAO,CAAC,QAAQ,CAAiB;IAE1B,UAAU,UAAQ;IAClB,yBAAyB,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,SAAS,CAC3D;IAEZ,WAAW;IAIX,aAAa;gBASD,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc;IAQ7C,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS;IAgB9B,UAAU;IA8HnB,WAAW,GAAI,UAAU,OAAO,EAAE;;;;yBAmBpB,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;QAY5B;IAEF,YAAY,GAAI,UAAU,OAAO,EAAE,UASjC;IAEF,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE;IAgBlC,kBAAkB,CAChB,WAAW,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,EACnC,oBAAoB,UAAO;IAgB7B,OAAO,CAAC,iBAAiB,CAAS;IAElC,mBAAmB,GAAI,kBAAkB,OAAO,UAW9C;IAEO,SAAS,GAAI,qBAAmB,EAAE,gBAAY,UAgBrD;IAEF,SAAS,GACP,MAAM,kBAAkB,EACxB,MAAM,OAAO,EAAE,EACf,aAAa,MAAM,UAInB;IAEF,OAAO,CAAC,iBAAiB;IA6CzB,OAAO,CAAC,iBAAiB;IAmBhB,OAAO,aAGd;CACH;AAED,eAAe,iBAAiB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,eAAO,MAAM,gBAAgB,GAC3B,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,kCAC2B,CAAC;AAC3C,eAAO,MAAM,aAAa,GACxB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,kCAC2B,CAAC;AAC3C,eAAO,MAAM,gBAAgB,GAC3B,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,wBAC6B,CAAC"}
1
+ {"version":3,"file":"oldstation.d.ts","sourceRoot":"","sources":["../../../../src/Mapless/mana/oldstation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAE9E,KAAK,mBAAmB,GAAG,SAAS,GAAG;IACrC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAgBF;;;;;GAKG;AACH,cAAM,iBAAkB,SAAQ,WAAW,CACzC,oBAAoB,EACpB,mBAAmB,CACpB;IACC,OAAO,CAAC,QAAQ,CAAiB;IAE1B,UAAU,UAAQ;IAClB,yBAAyB,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,SAAS,CAC3D;IAEZ,WAAW;IAIX,aAAa;gBASD,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc;IAQ7C,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS;IAgB9B,UAAU;IA8HnB,WAAW,GAAI,UAAU,OAAO,EAAE;;;;yBAmBpB,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;QAY5B;IAEF,YAAY,GAAI,UAAU,OAAO,EAAE,UASjC;IAEF,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE;IAgBlC,kBAAkB,CAChB,WAAW,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,EACnC,oBAAoB,UAAO;IAgB7B,OAAO,CAAC,iBAAiB,CAAS;IAElC,mBAAmB,GAAI,kBAAkB,OAAO,UAW9C;IAEO,SAAS,CAAC,WAAW,UAAQ,EAAE,OAAO,SAAK,GAAG,IAAI;IAkB3D,SAAS,GACP,MAAM,kBAAkB,EACxB,MAAM,OAAO,EAAE,EACf,aAAa,MAAM,UAInB;IAEF,OAAO,CAAC,iBAAiB;IA6CzB,OAAO,CAAC,iBAAiB;IAmBhB,OAAO,aAGd;CACH;AAED,eAAe,iBAAiB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,eAAO,MAAM,gBAAgB,GAC3B,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,kCAC2B,CAAC;AAC3C,eAAO,MAAM,aAAa,GACxB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,kCAC2B,CAAC;AAC3C,eAAO,MAAM,gBAAgB,GAC3B,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,wBAC6B,CAAC"}
@@ -16,6 +16,7 @@ export default class PolygonManager extends Manager<PolygonIdHubType> {
16
16
  drawPolygon(id: string, options: PolygonOptions): void;
17
17
  removePolygon(id: string): void;
18
18
  removeAll(): void;
19
+ fitBounds(ids?: string[], padding?: number): void;
19
20
  destroy(): void;
20
21
  }
21
22
  export declare const attachPolygon: (mapless: Mapless | undefined | null, name?: string) => PolygonManager | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"polygon.d.ts","sourceRoot":"","sources":["../../../../src/Mapless/mana/polygon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/D,KAAK,gBAAgB,GAAG,SAAS,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAUF,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO,CAAC,gBAAgB,CAAC;IACnE,OAAO,CAAC,QAAQ,CAAmC;gBAEvC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc;IAK7C,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAS1D,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS;IAY9B,UAAU;IAkBV,cAAc,GAAI,KAAK,MAAM,UAWpC;IAEF,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc;IAkC/C,aAAa,CAAC,EAAE,EAAE,MAAM;IAWxB,SAAS;IAKA,OAAO;CAIjB;AAED,eAAO,MAAM,aAAa,GACxB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,+BACwB,CAAC;AACxC,eAAO,MAAM,UAAU,GACrB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,+BACwB,CAAC;AACxC,eAAO,MAAM,aAAa,GACxB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,wBAC0B,CAAC"}
1
+ {"version":3,"file":"polygon.d.ts","sourceRoot":"","sources":["../../../../src/Mapless/mana/polygon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/D,KAAK,gBAAgB,GAAG,SAAS,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAUF,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO,CAAC,gBAAgB,CAAC;IACnE,OAAO,CAAC,QAAQ,CAAmC;gBAEvC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc;IAK7C,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAS1D,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS;IAY9B,UAAU;IAkBV,cAAc,GAAI,KAAK,MAAM,UAWpC;IAEF,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc;IAkC/C,aAAa,CAAC,EAAE,EAAE,MAAM;IAWxB,SAAS;IAKA,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAgBjD,OAAO;CAIjB;AAED,eAAO,MAAM,aAAa,GACxB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,+BACwB,CAAC;AACxC,eAAO,MAAM,UAAU,GACrB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,+BACwB,CAAC;AACxC,eAAO,MAAM,aAAa,GACxB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,wBAC0B,CAAC"}
@@ -46,6 +46,7 @@ declare class RoutesManager extends Manager<RoutesIdHubType> {
46
46
  unselectAll(): void;
47
47
  removeRoutes(ids: string[]): void;
48
48
  clearRoutes(): void;
49
+ fitBounds(ids?: string[], padding?: number): void;
49
50
  destroy: () => void;
50
51
  }
51
52
  export default RoutesManager;
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../src/Mapless/mana/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,KAAK,EACV,KAAK,EACL,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAElB,KAAK,eAAe,GAAG,SAAS,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,cAAM,aAAc,SAAQ,OAAO,CAAC,eAAe,CAAC;IAClD,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,mBAAmB;IAQlD,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAM1D,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS;IAY9B,UAAU;IA0BnB,UAAU,GAAI,OAAO,KAAK;;;;;;;;;;;;MAgBxB;IAEF,WAAW,GAAI,QAAQ,KAAK,EAAE;;;;;;;;;;;;QAE5B;IAEF,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE;IAS1B,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE;IAqB5B,aAAa,EAAE,KAAK,GAAG,IAAI,CAAQ;IAEnC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO;IAuBzC,WAAW;IAWX,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE;IAS1B,WAAW;IAKF,OAAO,aAGd;CACH;AAED,eAAe,aAAa,CAAC;AAE7B,eAAO,MAAM,YAAY,GACvB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,EACb,UAAU,oBAAoB,8BACe,CAAC;AAChD,eAAO,MAAM,SAAS,GACpB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,EAC1C,OAAO,MAAM,8BACuB,CAAC;AACvC,eAAO,MAAM,YAAY,GACvB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,wBACyB,CAAC"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../src/Mapless/mana/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,KAAK,EACV,KAAK,EACL,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAElB,KAAK,eAAe,GAAG,SAAS,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,cAAM,aAAc,SAAQ,OAAO,CAAC,eAAe,CAAC;IAClD,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,mBAAmB;IAQlD,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAM1D,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS;IAY9B,UAAU;IA0BnB,UAAU,GAAI,OAAO,KAAK;;;;;;;;;;;;MAgBxB;IAEF,WAAW,GAAI,QAAQ,KAAK,EAAE;;;;;;;;;;;;QAE5B;IAEF,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE;IAS1B,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE;IAqB5B,aAAa,EAAE,KAAK,GAAG,IAAI,CAAQ;IAEnC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO;IAuBzC,WAAW;IAWX,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE;IAS1B,WAAW;IAKF,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAgBjD,OAAO,aAGd;CACH;AAED,eAAe,aAAa,CAAC;AAE7B,eAAO,MAAM,YAAY,GACvB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,EACb,UAAU,oBAAoB,8BACe,CAAC;AAChD,eAAO,MAAM,SAAS,GACpB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,EAC1C,OAAO,MAAM,8BACuB,CAAC;AACvC,eAAO,MAAM,YAAY,GACvB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,wBACyB,CAAC"}
@@ -16,6 +16,7 @@ export default class ShapeManager extends Manager<ShapeIdHubType> {
16
16
  drawShape(id: string, options: PolygonOptions): void;
17
17
  removeShape(id: string): void;
18
18
  removeAll(): void;
19
+ fitBounds(ids?: string[], padding?: number): void;
19
20
  destroy(): void;
20
21
  }
21
22
  export declare const attachShape: (mapless: Mapless | undefined | null, name?: string) => ShapeManager | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"shape.d.ts","sourceRoot":"","sources":["../../../../src/Mapless/mana/shape.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/D,KAAK,cAAc,GAAG,SAAS,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAUF,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO,CAAC,cAAc,CAAC;IAC/D,OAAO,CAAC,MAAM,CAAiC;gBAEnC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc;IAK7C,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAS1D,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI;IAarC,UAAU;IAwBnB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc;IAgC7C,WAAW,CAAC,EAAE,EAAE,MAAM;IAWtB,SAAS;IAKA,OAAO;CAIjB;AAED,eAAO,MAAM,WAAW,GACtB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,6BACsB,CAAC;AACtC,eAAO,MAAM,QAAQ,GAAI,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EAAE,OAAO,MAAM,6BACzC,CAAC;AACnC,eAAO,MAAM,WAAW,GACtB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,wBACwB,CAAC"}
1
+ {"version":3,"file":"shape.d.ts","sourceRoot":"","sources":["../../../../src/Mapless/mana/shape.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/D,KAAK,cAAc,GAAG,SAAS,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAUF,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO,CAAC,cAAc,CAAC;IAC/D,OAAO,CAAC,MAAM,CAAiC;gBAEnC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc;IAK7C,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAS1D,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI;IAarC,UAAU;IA4BnB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc;IAkC7C,WAAW,CAAC,EAAE,EAAE,MAAM;IAWtB,SAAS;IAKA,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAgBjD,OAAO;CAIjB;AAED,eAAO,MAAM,WAAW,GACtB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,6BACsB,CAAC;AACtC,eAAO,MAAM,QAAQ,GAAI,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EAAE,OAAO,MAAM,6BACzC,CAAC;AACnC,eAAO,MAAM,WAAW,GACtB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,wBACwB,CAAC"}
@@ -20,6 +20,7 @@ declare class StepManager extends EmitManager<StepManagerEvents, StepIdHubType>
20
20
  addSteps(steps: Step[]): void;
21
21
  addStep(step: Step): void;
22
22
  clearSteps(): void;
23
+ fitBounds(ids?: string[], padding?: number): void;
23
24
  private setupHoverHandler;
24
25
  pressTimer: NodeJS.Timeout | null;
25
26
  LONG_PRESS_DELAY: number;
@@ -1 +1 @@
1
- {"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../../../src/Mapless/mana/step.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAY,MAAM,IAAI,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE5E,KAAK,aAAa,GAAG,SAAS,GAAG;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,cAAM,WAAY,SAAQ,WAAW,CAAC,iBAAiB,EAAE,aAAa,CAAC;IACrE,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,kBAAkB;IAajD,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAM1D,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI;IAerC,UAAU;IAgDnB,UAAU,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE;IA+C9B,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE;IAetB,OAAO,CAAC,IAAI,EAAE,IAAI;IAoBlB,UAAU;IAKV,OAAO,CAAC,iBAAiB;IA4CzB,UAAU,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAQ;IACzC,gBAAgB,SAAO;IACvB,OAAO,CAAC,QAAQ,CAA+B;IAE/C,OAAO,CAAC,gBAAgB,CAiBjB;IAEP,OAAO,CAAC,cAAc,CAMpB;IAEF,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,qBAAqB;IA0B7B,OAAO,CAAC,mBAAmB;IAkClB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC,OAAO,aAGd;CACH;AAED,eAAe,WAAW,CAAC;AAE3B,eAAO,MAAM,UAAU,GACrB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,EACb,UAAU,kBAAkB,4BACe,CAAC;AAC9C,eAAO,MAAM,OAAO,GAAI,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EAAE,OAAO,MAAM,4BACzC,CAAC;AAClC,eAAO,MAAM,UAAU,GACrB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,wBACuB,CAAC"}
1
+ {"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../../../src/Mapless/mana/step.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAY,MAAM,IAAI,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE5E,KAAK,aAAa,GAAG,SAAS,GAAG;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,cAAM,WAAY,SAAQ,WAAW,CAAC,iBAAiB,EAAE,aAAa,CAAC;IACrE,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,kBAAkB;IAajD,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAM1D,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI;IAerC,UAAU;IAgDnB,UAAU,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE;IA+C9B,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE;IAetB,OAAO,CAAC,IAAI,EAAE,IAAI;IAoBlB,UAAU;IAKD,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAW1D,OAAO,CAAC,iBAAiB;IA4CzB,UAAU,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAQ;IACzC,gBAAgB,SAAO;IACvB,OAAO,CAAC,QAAQ,CAA+B;IAE/C,OAAO,CAAC,gBAAgB,CAiBjB;IAEP,OAAO,CAAC,cAAc,CAMpB;IAEF,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,qBAAqB;IA0B7B,OAAO,CAAC,mBAAmB;IAkClB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC,OAAO,aAGd;CACH;AAED,eAAe,WAAW,CAAC;AAE3B,eAAO,MAAM,UAAU,GACrB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,EACb,UAAU,kBAAkB,4BACe,CAAC;AAC9C,eAAO,MAAM,OAAO,GAAI,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EAAE,OAAO,MAAM,4BACzC,CAAC;AAClC,eAAO,MAAM,UAAU,GACrB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,wBACuB,CAAC"}
@@ -23,6 +23,7 @@ declare class TrackManager extends EmitManager<Record<string, unknown[]>, TrackI
23
23
  addTrack(track: Track): void;
24
24
  private setupHoverHandler;
25
25
  setVisible(visible: boolean): void;
26
+ fitBounds(padding?: number): void;
26
27
  destroy: () => void;
27
28
  }
28
29
  export default TrackManager;
@@ -1 +1 @@
1
- {"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../../../../src/Mapless/mana/track.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE3D,KAAK,cAAc,GAAG,SAAS,GAAG;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,cAAM,YAAa,SAAQ,WAAW,CACpC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EACzB,cAAc,CACf;IACC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,aAAa,CAAC,CAA0B;IAChD,OAAO,CAAC,MAAM,CAAC,CAAiB;gBAEpB,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,mBAAmB;IAQlD,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAM1D,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI;IAerC,UAAU;IAgDnB,WAAW;IA8CX,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK;IAgB7D,QAAQ,CAAC,KAAK,EAAE,KAAK;IAmBrB,OAAO,CAAC,iBAAiB;IAqDhB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAKlC,OAAO,aAKd;CACH;AAED,eAAe,YAAY,CAAC;AAE5B,eAAO,MAAM,WAAW,GACtB,SAAS,OAAO,GAAG,SAAS,EAC5B,OAAO,MAAM,EACb,UAAU,mBAAmB,6BACe,CAAC;AAC/C,eAAO,MAAM,QAAQ,GAAI,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EAAE,OAAO,MAAM,6BACzC,CAAC;AACnC,eAAO,MAAM,WAAW,GACtB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,wBACwB,CAAC"}
1
+ {"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../../../../src/Mapless/mana/track.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE3D,KAAK,cAAc,GAAG,SAAS,GAAG;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,cAAM,YAAa,SAAQ,WAAW,CACpC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EACzB,cAAc,CACf;IACC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,aAAa,CAAC,CAA0B;IAChD,OAAO,CAAC,MAAM,CAAC,CAAiB;gBAEpB,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,mBAAmB;IAQlD,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAM1D,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI;IAerC,UAAU;IAgDnB,WAAW;IA8CX,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK;IAgB7D,QAAQ,CAAC,KAAK,EAAE,KAAK;IAmBrB,OAAO,CAAC,iBAAiB;IAqDhB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAKlC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAOjC,OAAO,aAKd;CACH;AAED,eAAe,YAAY,CAAC;AAE5B,eAAO,MAAM,WAAW,GACtB,SAAS,OAAO,GAAG,SAAS,EAC5B,OAAO,MAAM,EACb,UAAU,mBAAmB,6BACe,CAAC;AAC/C,eAAO,MAAM,QAAQ,GAAI,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EAAE,OAAO,MAAM,6BACzC,CAAC;AACnC,eAAO,MAAM,WAAW,GACtB,SAAS,OAAO,GAAG,SAAS,GAAG,IAAI,EACnC,OAAO,MAAM,wBACwB,CAAC"}
@@ -0,0 +1,75 @@
1
+ import type { AirspaceOptions } from '../../Three/types';
2
+ import type { Mapless, Maploss } from '..';
3
+ import type { IdHubType } from '../core/IdHub';
4
+ import { Manager } from '../core/manager';
5
+ import type { ManagerOptions } from '../types';
6
+ type AirspaceIdHubType = IdHubType & {
7
+ fillLayerId: string;
8
+ fill2DLayerId: string;
9
+ lineLayerId: string;
10
+ sourceId: string;
11
+ };
12
+ export type AirspaceType = {
13
+ id: string;
14
+ name: string;
15
+ geometry: [number, number][][];
16
+ minAltitude: number;
17
+ maxAltitude: number;
18
+ color: string;
19
+ edgeColor: string;
20
+ edgeOpacity: number;
21
+ edgeWidth: number;
22
+ fillColor?: string;
23
+ fillOpacity?: number;
24
+ feature: GeoJSON.Feature<GeoJSON.Polygon, GeoJSON.GeoJsonProperties>;
25
+ };
26
+ type UpdateZoneOptions = Partial<{
27
+ color: string;
28
+ minAltitude: number;
29
+ maxAltitude: number;
30
+ edgeColor: string;
31
+ edgeOpacity: number;
32
+ edgeWidth: number;
33
+ fillColor: string;
34
+ fillOpacity: number;
35
+ }>;
36
+ /**
37
+ * 这是一个单图层多空域得例子,fill-extrusion-opacity不支持数据驱动
38
+ * 要想每个空域的透明度不同需要实现多图层或者使用three.js自定义图层
39
+ */
40
+ export default class AirspaceManager extends Manager<AirspaceIdHubType> {
41
+ private zones;
42
+ private config;
43
+ private originalProperties;
44
+ constructor(mapless: Mapless, options?: ManagerOptions);
45
+ /**
46
+ * 设置全局配置
47
+ * 注意:opacity 是全局的,因为 fill-extrusion-opacity 不支持数据驱动
48
+ */
49
+ setConfig(options: {
50
+ opacity?: number;
51
+ }): void;
52
+ handleCoordSystemChange(_system: string | undefined): void;
53
+ createIdHub(_idHub?: IdHubType): void;
54
+ initLayers(): void;
55
+ private generateId;
56
+ drawZone(id: string, options: AirspaceOptions): void;
57
+ private updateSource;
58
+ addZone(options: AirspaceOptions): string;
59
+ addZones(zones: AirspaceOptions[]): string[];
60
+ removeZone(id: string): void;
61
+ clearZones(): void;
62
+ updateZone(id: string, options: UpdateZoneOptions): void;
63
+ updateZoneColor(id: string, color: string): void;
64
+ updateZoneAltitude(id: string, minAltitude: number, maxAltitude: number): void;
65
+ highlightZone(id: string, highlighted?: boolean): void;
66
+ getZone(id: string): AirspaceType | undefined;
67
+ getAllZones(): AirspaceType[];
68
+ fitBounds(ids?: string[], padding?: number): void;
69
+ destroy(): void;
70
+ }
71
+ export declare const attachAirspace: (mapless: Maploss, name?: string) => AirspaceManager | undefined;
72
+ export declare const getAirspace: (mapless: Maploss, name?: string) => AirspaceManager | undefined;
73
+ export declare const detachAirspace: (mapless: Maploss, name?: string) => boolean | undefined;
74
+ export {};
75
+ //# sourceMappingURL=airspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"airspace.d.ts","sourceRoot":"","sources":["../../../../src/Mapless/mana-3d/airspace.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,KAAK,iBAAiB,GAAG,SAAS,GAAG;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACtE,CAAC;AAEF,KAAK,iBAAiB,GAAG,OAAO,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO,CAAC,iBAAiB,CAAC;IACrE,OAAO,CAAC,KAAK,CAAoC;IAGjD,OAAO,CAAC,MAAM,CAWZ;IAGF,OAAO,CAAC,kBAAkB,CAAyC;gBAEvD,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc;IAKtD;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAarC,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAS1D,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS;IAc9B,UAAU;IA2CnB,OAAO,CAAC,UAAU;IAIlB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe;IAuD7C,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM;IAMzC,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE;IAI5C,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAO5B,UAAU,IAAI,IAAI;IAMlB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAqBxD,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhD,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAI9E,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,GAAE,OAAc,GAAG,IAAI;IAW5D,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAI7C,WAAW,IAAI,YAAY,EAAE;IAIpB,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IA+BjD,OAAO;CAKjB;AAED,eAAO,MAAM,cAAc,GAAI,SAAS,OAAO,EAAE,OAAO,MAAM,gCACzB,CAAC;AAEtC,eAAO,MAAM,WAAW,GAAI,SAAS,OAAO,EAAE,OAAO,MAAM,gCACtB,CAAC;AAEtC,eAAO,MAAM,cAAc,GAAI,SAAS,OAAO,EAAE,OAAO,MAAM,wBACvB,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { Manager, type ManagerOptions, type Mapless, type Maploss } from '..';
2
+ import { type IdHubType } from '../core/IdHub';
3
+ type ElevatedLineIdHubType = IdHubType & {
4
+ sourceId: string;
5
+ layerId: string;
6
+ };
7
+ type ElevatedLinePoint = {
8
+ lng: number;
9
+ lat: number;
10
+ alt: number;
11
+ };
12
+ type ElevatedLineOptions = {
13
+ color?: string;
14
+ width?: number;
15
+ opacity?: number;
16
+ } & ManagerOptions;
17
+ declare class ElevatedLineManager extends Manager<ElevatedLineIdHubType> {
18
+ private points;
19
+ private options;
20
+ constructor(mapless: Mapless, options?: ManagerOptions & ElevatedLineOptions);
21
+ handleCoordSystemChange(_system: string | undefined): void;
22
+ createIdHub(_idHub?: IdHubType): void;
23
+ initLayers(): void;
24
+ private _updateLine;
25
+ addPoint(point: ElevatedLinePoint): void;
26
+ updatePoints(points: ElevatedLinePoint[]): void;
27
+ getPoints(): ElevatedLinePoint[];
28
+ clearPoints(): void;
29
+ fitBounds(padding?: number): void;
30
+ updateStyle(options: Partial<ElevatedLineOptions>): void;
31
+ destroy(): void;
32
+ }
33
+ export default ElevatedLineManager;
34
+ export declare const attachElevatedLine: (mapless: Maploss, name?: string, options?: ElevatedLineOptions) => ElevatedLineManager | undefined;
35
+ export declare const getElevatedLine: (mapless: Maploss, name?: string) => ElevatedLineManager | undefined;
36
+ export declare const detachElevatedLine: (mapless: Maploss, name?: string) => boolean | undefined;
37
+ //# sourceMappingURL=elevatedLine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elevatedLine.d.ts","sourceRoot":"","sources":["../../../../src/Mapless/mana-3d/elevatedLine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,IAAI,CAAC;AAC9E,OAAc,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAEtD,KAAK,qBAAqB,GAAG,SAAS,GAAG;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,cAAc,CAAC;AAEnB,cAAM,mBAAoB,SAAQ,OAAO,CAAC,qBAAqB,CAAC;IAC9D,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,OAAO,CAA2B;gBAGxC,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,cAAc,GAAG,mBAAmB;IAWvC,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAM1D,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS;IAY9B,UAAU;IA2BnB,OAAO,CAAC,WAAW;IAoBnB,QAAQ,CAAC,KAAK,EAAE,iBAAiB;IAKjC,YAAY,CAAC,MAAM,EAAE,iBAAiB,EAAE;IAKxC,SAAS;IAIT,WAAW;IAKF,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAwB1C,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC;IA8BxC,OAAO;CAIjB;AAED,eAAe,mBAAmB,CAAC;AAEnC,eAAO,MAAM,kBAAkB,GAC7B,SAAS,OAAO,EAChB,OAAO,MAAM,EACb,UAAU,mBAAmB,oCACsB,CAAC;AAEtD,eAAO,MAAM,eAAe,GAAI,SAAS,OAAO,EAAE,OAAO,MAAM,oCACtB,CAAC;AAE1C,eAAO,MAAM,kBAAkB,GAAI,SAAS,OAAO,EAAE,OAAO,MAAM,wBACvB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export type { AirspaceOptions } from '../../Three/types';
2
+ export type { AirspaceType } from './airspace';
3
+ export { attachAirspace, default as AirspaceManager, detachAirspace, getAirspace } from './airspace';
4
+ export { attachElevatedLine, default as ElevatedLineManager, detachElevatedLine, getElevatedLine } from './elevatedLine';
5
+ export { attachMapModel, default as MapModelManager, detachMapModel, getMapModel } from './mapModel';
6
+ export type { MapModelClickEvent, MapModelManagerEvents, MapModelOptions, MapModelSelectEvent } from './mapModel';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Mapless/mana-3d/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EACL,cAAc,EACd,OAAO,IAAI,eAAe,EAC1B,cAAc,EACd,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,OAAO,IAAI,mBAAmB,EAC9B,kBAAkB,EAClB,eAAe,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,cAAc,EACd,OAAO,IAAI,eAAe,EAC1B,cAAc,EACd,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,206 @@
1
+ import type { Mapless, Maploss } from '..';
2
+ import { EmitManager } from '../core/manager';
3
+ import type { ManagerOptions } from '../types';
4
+ type MapModelManagerOptions = ManagerOptions;
5
+ /**
6
+ * MapModelManager 点击事件类型
7
+ */
8
+ export type MapModelClickEvent = {
9
+ id: string;
10
+ url: string;
11
+ lngLat: [number, number];
12
+ altitude: number;
13
+ rotation?: [number, number, number];
14
+ scale?: number;
15
+ originalEvent: mapboxgl.MapMouseEvent;
16
+ };
17
+ /**
18
+ * MapModelManager 选中事件类型
19
+ */
20
+ export type MapModelSelectEvent = {
21
+ id: string | null;
22
+ previousId: string | null;
23
+ };
24
+ /**
25
+ * MapModelManager 事件类型
26
+ */
27
+ export type MapModelManagerEvents = {
28
+ modelClick: [MapModelClickEvent];
29
+ modelSelect: [MapModelSelectEvent];
30
+ };
31
+ /**
32
+ * 单个模型的配置(用于 source)
33
+ */
34
+ export interface ModelSourceConfig {
35
+ uri: string;
36
+ position?: [number, number];
37
+ lngLat?: [number, number];
38
+ altitude?: number;
39
+ orientation?: [number, number, number];
40
+ scale?: number;
41
+ materialOverrideNames?: string[];
42
+ nodeOverrideNames?: string[];
43
+ }
44
+ /**
45
+ * Mapbox风格的3D模型配置选项
46
+ * 参考: https://docs.mapbox.com/style-spec/guides/using-3d-models/
47
+ */
48
+ export interface MapModelOptions {
49
+ id: string;
50
+ url: string;
51
+ lngLat: [number, number];
52
+ altitude?: number;
53
+ rotation?: [number, number, number];
54
+ scale?: number;
55
+ materialOverrides?: Record<string, {
56
+ color?: [number, number, number];
57
+ colorMixIntensity?: number;
58
+ emissive?: [number, number, number];
59
+ emissiveStrength?: number;
60
+ opacity?: number;
61
+ }>;
62
+ nodeOverrides?: Record<string, {
63
+ orientation?: [number, number, number];
64
+ }>;
65
+ instances?: Array<{
66
+ lngLat: [number, number];
67
+ altitude?: number;
68
+ rotation?: [number, number, number];
69
+ scale?: number;
70
+ }>;
71
+ }
72
+ /**
73
+ * MapModelManager - Mapbox原生3D模型管理器
74
+ *
75
+ * 使用 Mapbox GL JS 原生的 model layer 功能
76
+ * 参考: https://docs.mapbox.com/style-spec/layers/#model
77
+ *
78
+ * 设计理念:
79
+ * - 每个模型独立一个 source + 一个 layer(避免更新时闪烁)
80
+ * - 使用 IdHub 统一管理 ID 生成
81
+ * - 如果需要图层分组,创建多个 mana 实例
82
+ *
83
+ * 功能特性:
84
+ * - 支持glTF 2.0和GLB格式(Mapbox原生)
85
+ * - 支持材质和节点覆盖
86
+ * - 支持模型独立更新(不闪烁)
87
+ * - 支持批量管理和动态更新
88
+ * - 自动资源清理
89
+ * - 支持点击事件
90
+ */
91
+ declare class MapModelManager extends EmitManager<MapModelManagerEvents> {
92
+ private models;
93
+ private modelCounter;
94
+ private _idHub;
95
+ private globalClickHandler;
96
+ private selectedModelId;
97
+ private defaultSelectedColor;
98
+ private themeColorModels;
99
+ constructor(mapless: Mapless, options?: MapModelManagerOptions);
100
+ /**
101
+ * 设置全局点击事件处理器
102
+ * 使用 queryRenderedFeatures 检测点击的模型
103
+ */
104
+ private setupGlobalClickHandler;
105
+ /**
106
+ * 根据主题获取默认模型颜色
107
+ * 暗色主题: RGB(68, 233, 234) = [0.267, 0.914, 0.918]
108
+ * 亮色主题: null (使用默认材质)
109
+ */
110
+ private getDefaultThemeColor;
111
+ /**
112
+ * 移除模型颜色(恢复默认材质)
113
+ */
114
+ private removeModelColor;
115
+ /**
116
+ * 更新所有模型的默认颜色(主题切换时调用)
117
+ */
118
+ private updateAllModelsThemeColor;
119
+ /**
120
+ * 主题切换时更新模型颜色
121
+ */
122
+ onStyleChanged: (_tag: string) => void;
123
+ /**
124
+ * 生成唯一的 source ID(使用 IdHub)
125
+ */
126
+ private generateSourceId;
127
+ /**
128
+ * 生成唯一的 layer ID(使用 IdHub)
129
+ */
130
+ private generateLayerId;
131
+ /**
132
+ * 添加单个模型(内部方法)
133
+ */
134
+ private addSingleModel;
135
+ /**
136
+ * 添加模型
137
+ */
138
+ addModel(options: MapModelOptions): void;
139
+ /**
140
+ * 批量添加模型
141
+ */
142
+ addModels(models: MapModelOptions[]): void;
143
+ /**
144
+ * 更新模型位置
145
+ */
146
+ updateModelPosition(id: string, lngLat: [number, number], altitude?: number): void;
147
+ /**
148
+ * 更新模型旋转
149
+ */
150
+ updateModelRotation(id: string, rotation: [number, number, number]): void;
151
+ /**
152
+ * 更新模型缩放
153
+ */
154
+ updateModelScale(id: string, scale: number): void;
155
+ /**
156
+ * 移除模型
157
+ */
158
+ removeModel(id: string): void;
159
+ /**
160
+ * 清除所有模型
161
+ */
162
+ clearModels(): void;
163
+ /**
164
+ * 获取模型数量
165
+ */
166
+ getModelCount(): number;
167
+ /**
168
+ * 检查模型是否存在
169
+ */
170
+ hasModel(id: string): boolean;
171
+ /**
172
+ * 获取所有模型ID
173
+ */
174
+ getModelIds(): string[];
175
+ /**
176
+ * 更新模型颜色
177
+ * @param id 模型ID
178
+ * @param color RGB 颜色数组 [r, g, b],范围 0-1
179
+ * @param intensity 颜色混合强度 0-1,默认为 1 表示完全覆盖
180
+ */
181
+ updateModelColor(id: string, color: [number, number, number], intensity?: number): void;
182
+ /**
183
+ * 设置默认选中颜色
184
+ * @param color RGB 颜色数组 [r, g, b],范围 0-1
185
+ */
186
+ setDefaultSelectedColor(color: [number, number, number]): void;
187
+ /**
188
+ * 获取当前选中的模型ID
189
+ */
190
+ getSelectedModelId(): string | null;
191
+ /**
192
+ * 选中模型(单选模式)
193
+ * - 恢复上一个选中模型的颜色
194
+ * - 将新选中的模型设置为选中颜色
195
+ * - 触发 modelSelect 事件
196
+ * @param id 模型ID,传 null 取消选中
197
+ * @param color 选中颜色,不传则使用默认选中颜色
198
+ */
199
+ selectModel(id: string | null, color?: [number, number, number]): void;
200
+ destroy(): void;
201
+ }
202
+ export default MapModelManager;
203
+ export declare const attachMapModel: (mapless: Maploss, name?: string, options?: MapModelManagerOptions) => MapModelManager | undefined;
204
+ export declare const getMapModel: (mapless: Maploss, name?: string) => MapModelManager | undefined;
205
+ export declare const detachMapModel: (mapless: Maploss, name?: string) => boolean | undefined;
206
+ //# sourceMappingURL=mapModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapModel.d.ts","sourceRoot":"","sources":["../../../../src/Mapless/mana-3d/mapModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,KAAK,sBAAsB,GAAG,cAAc,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,CAAC,kBAAkB,CAAC,CAAC;IACjC,WAAW,EAAE,CAAC,mBAAmB,CAAC,CAAC;CACpC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,iBAAiB,CAAC,EAAE,MAAM,CACxB,MAAM,EACN;QACE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CACF,CAAC;IAEF,aAAa,CAAC,EAAE,MAAM,CACpB,MAAM,EACN;QACE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;KACxC,CACF,CAAC;IAEF,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACpC,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ;AAeD;;;;;;;;;;;;;;;;;;GAkBG;AACH,cAAM,eAAgB,SAAQ,WAAW,CAAC,qBAAqB,CAAC;IAC9D,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,kBAAkB,CAAoD;IAC9E,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,oBAAoB,CAAuC;IACnE,OAAO,CAAC,gBAAgB,CAA0B;gBAEtC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB;IAY9D;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA2C/B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAuBjC;;OAEG;IACM,cAAc,GAAI,MAAM,MAAM,KAAG,IAAI,CAc5C;IAEF;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAmJtB;;OAEG;IACI,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IA2D/C;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI;IAMjD;;OAEG;IACI,mBAAmB,CACxB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,QAAQ,GAAE,MAAU,GACnB,IAAI;IAuBP;;OAEG;IACI,mBAAmB,CACxB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACjC,IAAI;IAsBP;;OAEG;IACI,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAsBxD;;OAEG;IACI,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IA2BpC;;OAEG;IACI,WAAW,IAAI,IAAI;IAS1B;;OAEG;IACI,aAAa,IAAI,MAAM;IAI9B;;OAEG;IACI,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIpC;;OAEG;IACI,WAAW,IAAI,MAAM,EAAE;IAI9B;;;;;OAKG;IACI,gBAAgB,CACrB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAC/B,SAAS,GAAE,MAAU,GACpB,IAAI;IAkBP;;;OAGG;IACI,uBAAuB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAIrE;;OAEG;IACI,kBAAkB,IAAI,MAAM,GAAG,IAAI;IAI1C;;;;;;;OAOG;IACI,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAiC7E,OAAO,IAAI,IAAI;CAShB;AAED,eAAe,eAAe,CAAC;AAE/B,eAAO,MAAM,cAAc,GACzB,SAAS,OAAO,EAChB,OAAO,MAAM,EACb,UAAU,sBAAsB,gCACe,CAAC;AAElD,eAAO,MAAM,WAAW,GAAI,SAAS,OAAO,EAAE,OAAO,MAAM,gCACtB,CAAC;AAEtC,eAAO,MAAM,cAAc,GAAI,SAAS,OAAO,EAAE,OAAO,MAAM,wBACvB,CAAC"}
@@ -0,0 +1,142 @@
1
+ import * as THREE from 'three';
2
+ import type { Mapless, Maploss } from '..';
3
+ import { Manager } from '../core/manager';
4
+ import type { ManagerOptions } from '../types';
5
+ type BasicThreeObjectManagerOptions = ManagerOptions;
6
+ export type BasicGeometryType = 'cube' | 'sphere' | 'cylinder' | 'cone' | 'torus';
7
+ export interface GeometrySizeParams {
8
+ cube: {
9
+ size: number;
10
+ };
11
+ sphere: {
12
+ radius: number;
13
+ widthSegments?: number;
14
+ heightSegments?: number;
15
+ phiStart?: number;
16
+ phiLength?: number;
17
+ thetaStart?: number;
18
+ thetaLength?: number;
19
+ };
20
+ cylinder: {
21
+ radiusTop: number;
22
+ radiusBottom: number;
23
+ height: number;
24
+ radialSegments?: number;
25
+ };
26
+ cone: {
27
+ radius: number;
28
+ height: number;
29
+ radialSegments?: number;
30
+ };
31
+ torus: {
32
+ radius: number;
33
+ tube: number;
34
+ radialSegments?: number;
35
+ tubularSegments?: number;
36
+ };
37
+ }
38
+ export interface BasicThreeObjectOptions<T extends BasicGeometryType = BasicGeometryType> {
39
+ id: string;
40
+ type: T;
41
+ size: GeometrySizeParams[T];
42
+ color?: number | string;
43
+ opacity?: number;
44
+ transparent?: boolean;
45
+ wireframe?: boolean;
46
+ }
47
+ declare class BasicThreeObjectManager extends Manager {
48
+ private mapThree;
49
+ private objects;
50
+ constructor(mapless: Mapless, options?: BasicThreeObjectManagerOptions);
51
+ private getMapThree;
52
+ private init;
53
+ /**
54
+ * 根据类型创建几何体
55
+ */
56
+ private createGeometry;
57
+ /**
58
+ * 创建材质
59
+ */
60
+ private createMaterial;
61
+ /**
62
+ * 添加单个基础对象
63
+ */
64
+ addObject<T extends BasicGeometryType>(options: BasicThreeObjectOptions<T> & {
65
+ lngLat: [number, number];
66
+ altitude?: number;
67
+ rotation?: [number, number, number];
68
+ scale?: number;
69
+ matrix?: THREE.Matrix4;
70
+ }): void;
71
+ /**
72
+ * 批量添加基础对象
73
+ */
74
+ addObjects<T extends BasicGeometryType>(objects: Array<BasicThreeObjectOptions<T> & {
75
+ lngLat: [number, number];
76
+ altitude?: number;
77
+ rotation?: [number, number, number];
78
+ scale?: number;
79
+ }>): void;
80
+ /**
81
+ * 更新对象位置
82
+ */
83
+ updateObjectPosition(id: string, lngLat: [number, number], altitude?: number): void;
84
+ /**
85
+ * 更新对象旋转
86
+ */
87
+ updateObjectRotation(id: string, rotation: [number, number, number]): void;
88
+ /**
89
+ * 更新对象缩放(相对缩放,乘以因子)
90
+ */
91
+ updateObjectScale(id: string, scale: number): void;
92
+ /**
93
+ * 设置对象绝对缩放值(直接设置缩放比例)
94
+ * @param id 对象ID
95
+ * @param scale 绝对缩放值
96
+ * @param lngLat 对象的经纬度(用于重新计算墨卡托单位)
97
+ * @param altitude 对象的高度(用于重新计算墨卡托单位)
98
+ */
99
+ setObjectScaleAbsolute(id: string, scale: number, lngLat: [number, number], altitude?: number): void;
100
+ /**
101
+ * 更新对象颜色
102
+ */
103
+ updateObjectColor(id: string, color: number | string): void;
104
+ /**
105
+ * 更新对象不透明度
106
+ */
107
+ updateObjectOpacity(id: string, opacity: number): void;
108
+ /**
109
+ * 更新对象的变换矩阵
110
+ * 用于动画过程中更新对象的位置、旋转和缩放
111
+ *
112
+ * @param id 对象ID
113
+ * @param matrix 完整的变换矩阵
114
+ */
115
+ updateObjectMatrix(id: string, matrix: THREE.Matrix4): void;
116
+ /**
117
+ * 移除指定对象
118
+ */
119
+ removeObject(id: string): void;
120
+ /**
121
+ * 清除所有对象
122
+ */
123
+ clearObjects(): void;
124
+ /**
125
+ * 获取对象数量
126
+ */
127
+ getObjectCount(): number;
128
+ /**
129
+ * 检查对象是否存在
130
+ */
131
+ hasObject(id: string): boolean;
132
+ /**
133
+ * 获取所有对象 ID
134
+ */
135
+ getObjectIds(): string[];
136
+ destroy(): void;
137
+ }
138
+ export default BasicThreeObjectManager;
139
+ export declare const attachBasicObject: (mapless: Maploss, name?: string, options?: BasicThreeObjectManagerOptions) => BasicThreeObjectManager | undefined;
140
+ export declare const getBasicObject: (mapless: Maploss, name?: string) => BasicThreeObjectManager | undefined;
141
+ export declare const detachBasicObject: (mapless: Maploss, name?: string) => boolean | undefined;
142
+ //# sourceMappingURL=basicObject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basicObject.d.ts","sourceRoot":"","sources":["../../../../src/Mapless/mana-three/basicObject.ts"],"names":[],"mappings":"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"}