KrpanoActionProxy.d.ts 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import { PromiseQueue } from "./PromiseQueue";
  2. import { NativeKrpanoRendererObject, ROTATE_DIRECTION, ZOOM_ACTION } from "./types";
  3. export type HandlerFunc = (renderer: KrpanoActionProxy) => void;
  4. interface EventHandler {
  5. eventName: string;
  6. selector: string;
  7. handler: HandlerFunc;
  8. }
  9. export declare class KrpanoActionProxy {
  10. name: string;
  11. krpanoRenderer?: NativeKrpanoRendererObject;
  12. eventHandlers: EventHandler[];
  13. dynamicTagWaitQueue: PromiseQueue<any>;
  14. constructor(krpanoRenderer?: NativeKrpanoRendererObject, name?: string);
  15. /**
  16. * 等待 include 标签加载完成
  17. */
  18. waitIncludeLoaded(push?: boolean): Promise<any>;
  19. /**
  20. * 执行 Javascript 函数
  21. * @param action 动作
  22. * @param nexttick 是否在下一个渲染帧后执行
  23. */
  24. call(action: string, nexttick?: boolean): void;
  25. set(name: string, ...params: Array<string | number | boolean>): void;
  26. /**
  27. * 动态添加标签
  28. * @param tag 标签
  29. * @param name 名称
  30. * @param attrs 属性
  31. */
  32. setTag(tag: "scene" | "hotspot" | "layer" | "view" | "events" | "autorotate", name: string | null, attrs: Record<string, any>): Promise<void>;
  33. get<T = any>(name: string): T;
  34. /**
  35. * 删除场景
  36. * @param name 场景名称
  37. */
  38. removeScene(name: string): void;
  39. /**
  40. * 加载场景
  41. * @param name 场景 name
  42. */
  43. loadScene(name: string): void;
  44. /**
  45. * 旋转视图
  46. * @param direction 方位
  47. * @param degrees 旋转度数,默认为 10
  48. */
  49. rotateView(direction: ROTATE_DIRECTION, degrees?: number): void;
  50. /**
  51. * 缩放视图
  52. * @param action 动作
  53. * @param num 缩放大小
  54. */
  55. zoomView(action: ZOOM_ACTION, num?: number): void;
  56. on(eventName: string, selector: string, handler: HandlerFunc): this;
  57. off(eventName: string, selector: string, handler: HandlerFunc): void;
  58. fire(eventName: string, selector: string): void;
  59. bindEvents(selector: string, mapEventsToHandler: Record<string, HandlerFunc | undefined>): void;
  60. unbindEvents(selector: string, mapEventsToHandler: Record<string, HandlerFunc | undefined>): void;
  61. addHotspot(name: string, attrs: Record<string, string | boolean | number | undefined>): Promise<void>;
  62. removeHotspot(name: string): void;
  63. syncTagsLoaded: boolean;
  64. syncTagStack: {
  65. tagName: string;
  66. attribute: Record<string, unknown>;
  67. }[];
  68. pushSyncTag(tagName: string, attribute: Record<string, unknown>): void;
  69. createSyncTags(): Promise<Document>;
  70. private getXMLContent;
  71. }
  72. export {};
  73. //# sourceMappingURL=KrpanoActionProxy.d.ts.map