@stampgis/webrtc 1.0.2 → 1.0.3

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.
package/README.md CHANGED
@@ -98,15 +98,15 @@ await loadCore({ configUrl, pixelstreamingUrl, playerControlUrl });
98
98
 
99
99
  动态加载三个核心脚本,按依赖顺序执行,并等待对应全局变量就绪。
100
100
 
101
- | 参数 | 类型 | 必填 | 说明 |
102
- | ------------------- | --------- | ---- | ----------------------------------------------------------- |
103
- | `useBundledAssets` | `boolean` | 否 | 从包内 `assets/` 目录加载脚本,默认 `false` |
104
- | `baseUrl` | `string` | 否 | 基础路径,自动拼接 `config/stamp_core_config.js` 等相对路径 |
105
- | `configUrl` | `string` | 否 | 精确指定 `stamp_core_config.js` 的 URL |
106
- | `pixelstreamingUrl` | `string` | 否 | 精确指定 `pixelstreaming.js` 的 URL |
107
- | `playerControlUrl` | `string` | 否 | 精确指定 `playerControl.js` 的 URL |
108
- | `match_maker` | `string` | 否 | 覆盖 `stamp_core_config` 中的 matchmaker 地址 |
109
- | `timeout` | `number` | 否 | 超时毫秒数,默认 `30000` |
101
+ | 参数 | 类型 | 必填 | 说明 |
102
+ | ------------------- | --------- | ---- | -------------------------------------------------------------- |
103
+ | `useBundledAssets` | `boolean` | 否 | 从包内 `assets/` 目录加载脚本(仅 ESM 环境有效),默认 `false` |
104
+ | `baseUrl` | `string` | 否 | 基础路径,自动拼接 `config/stamp_core_config.js` 等相对路径 |
105
+ | `configUrl` | `string` | 否 | 精确指定 `stamp_core_config.js` 的 URL |
106
+ | `pixelstreamingUrl` | `string` | 否 | 精确指定 `pixelstreaming.js` 的 URL |
107
+ | `playerControlUrl` | `string` | 否 | 精确指定 `playerControl.js` 的 URL |
108
+ | `match_maker` | `string` | 否 | 覆盖 `stamp_core_config` 中的 matchmaker 地址 |
109
+ | `timeout` | `number` | 否 | 超时毫秒数,默认 `30000` |
110
110
 
111
111
  > 三种 URL 来源的优先级:显式 URL(`configUrl` 等)> `useBundledAssets` > `baseUrl` 拼接。
112
112
 
@@ -188,6 +188,12 @@ await initMap({
188
188
 
189
189
  > 注意:`playerControl.js` 内部使用**同步 XHR** 请求 matchmaker,部分浏览器对同步跨域请求有限制,建议优先使用代理方案。
190
190
 
191
+ ## 常见问题
192
+
193
+ ### useBundledAssets 在 CommonJS 下不可用
194
+
195
+ `useBundledAssets` 依赖 ESM 的 `import.meta.url`,`require()` 环境会抛出明确错误。改用 `baseUrl` 或 `configUrl`/`pixelstreamingUrl`/`playerControlUrl` 精确指定脚本地址。
196
+
191
197
  ## License
192
198
 
193
199
  MIT
@@ -5,10 +5,28 @@
5
5
  * 版权所有:Copyright by 睿城传奇
6
6
  * 使用单位:合作单位
7
7
  */
8
- stamp_core_config = {
9
- match_maker: `/matchmaker`,
10
- use_match_maker: true, //:不使用matchmaker,底层调试用。正常部署给true即可。
11
- signal_streaming: "ws://localhost:81", //信令服务的IP和端口(use_match_maker为false时生效)
12
- windowDevicePixelRatio: window.devicePixelRatio || 1, //根据电脑分辨率大小和性能调整:清晰度
13
- bigscreen: false,
14
- };
8
+ if (!stamp_core_config) {
9
+ stamp_core_config = {
10
+ match_maker: `/matchmaker`,
11
+ use_match_maker: true, //:不使用matchmaker,底层调试用。正常部署给true即可。
12
+ signal_streaming: "ws://localhost:81", //信令服务的IP和端口(use_match_maker为false时生效)
13
+ windowDevicePixelRatio: window.devicePixelRatio || 1, //根据电脑分辨率大小和性能调整:清晰度
14
+ bigscreen: false,
15
+ };
16
+ } else {
17
+ if(stamp_core_config.match_maker == undefined){
18
+ stamp_core_config.match_maker = `/matchmaker`;
19
+ }
20
+ if(stamp_core_config.use_match_maker == undefined){
21
+ stamp_core_config.use_match_maker = true;
22
+ }
23
+ if(stamp_core_config.signal_streaming == undefined){
24
+ stamp_core_config.signal_streaming = "ws://localhost:81";
25
+ }
26
+ if(stamp_core_config.windowDevicePixelRatio == undefined){
27
+ stamp_core_config.windowDevicePixelRatio = window.devicePixelRatio || 1;
28
+ }
29
+ if(stamp_core_config.bigscreen == undefined){
30
+ stamp_core_config.bigscreen = false;
31
+ }
32
+ }
package/dist/index.cjs CHANGED
@@ -2497,10 +2497,6 @@ var STAMP_RTTI = /* @__PURE__ */ ((STAMP_RTTI2) => {
2497
2497
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_BLOCK_LAYER"] = 104] = "SE_RTTI_BLOCK_LAYER";
2498
2498
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_BILLBOARD_LAYER"] = 105] = "SE_RTTI_BILLBOARD_LAYER";
2499
2499
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_MATCH_MODEL_LAYER"] = 106] = "SE_RTTI_MATCH_MODEL_LAYER";
2500
- STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_POI_LAYER"] = 107] = "SE_RTTI_POI_LAYER";
2501
- STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_VECTOR_LAYER"] = 108] = "SE_RTTI_VECTOR_LAYER";
2502
- STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_GIS_VECTOR_LAYER"] = 109] = "SE_RTTI_GIS_VECTOR_LAYER";
2503
- STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_GIS_POI_LAYER"] = 110] = "SE_RTTI_GIS_POI_LAYER";
2504
2500
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_OBLIQUE_PHOTO_LAYER"] = 111] = "SE_RTTI_OBLIQUE_PHOTO_LAYER";
2505
2501
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ANNOTATION_LAYER"] = 112] = "SE_RTTI_ANNOTATION_LAYER";
2506
2502
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_PIPELINE_LAYER"] = 114] = "SE_RTTI_PIPELINE_LAYER";
@@ -2514,14 +2510,11 @@ var STAMP_RTTI = /* @__PURE__ */ ((STAMP_RTTI2) => {
2514
2510
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_MAP_LAYER"] = 122] = "SE_RTTI_MAP_LAYER";
2515
2511
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_WMS_SUB_LAYER"] = 123] = "SE_RTTI_WMS_SUB_LAYER";
2516
2512
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_MAPSERVER_LAYER"] = 124] = "SE_RTTI_MAPSERVER_LAYER";
2517
- STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_EDIT_MAP_LAYER"] = 125] = "SE_RTTI_EDIT_MAP_LAYER";
2518
2513
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_EDIT_PIPELINE_LAYER"] = 126] = "SE_RTTI_EDIT_PIPELINE_LAYER";
2519
2514
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_EDIT_GEOLOGY_LAYER"] = 127] = "SE_RTTI_EDIT_GEOLOGY_LAYER";
2520
2515
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_VECTOR_TILE_LAYER"] = 128] = "SE_RTTI_VECTOR_TILE_LAYER";
2521
- STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_EDIT_MAP_RASTER_LAYER"] = 129] = "SE_RTTI_EDIT_MAP_RASTER_LAYER";
2522
2516
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_MODEL_LOD_LAYER"] = 130] = "SE_RTTI_MODEL_LOD_LAYER";
2523
2517
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_TILE_BLOCK_LAYER"] = 131] = "SE_RTTI_TILE_BLOCK_LAYER";
2524
- STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_EDIT_MAP_POI_LAYER"] = 132] = "SE_RTTI_EDIT_MAP_POI_LAYER";
2525
2518
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_VECTOR_RIVER_LAYER"] = 133] = "SE_RTTI_VECTOR_RIVER_LAYER";
2526
2519
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_POINT_CLOUD_LAYER"] = 134] = "SE_RTTI_POINT_CLOUD_LAYER";
2527
2520
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_GRID_GEOLOGY_LAYER"] = 135] = "SE_RTTI_GRID_GEOLOGY_LAYER";
@@ -2542,7 +2535,6 @@ var STAMP_RTTI = /* @__PURE__ */ ((STAMP_RTTI2) => {
2542
2535
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_ICON"] = 209] = "SE_RTTI_ELEMENT_ICON";
2543
2536
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_SIGNAL_SPHERE"] = 210] = "SE_RTTI_ELEMENT_SIGNAL_SPHERE";
2544
2537
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_POLYGON"] = 211] = "SE_RTTI_ELEMENT_POLYGON";
2545
- STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_POINTS"] = 212] = "SE_RTTI_ELEMENT_POINTS";
2546
2538
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_MESH"] = 213] = "SE_RTTI_ELEMENT_MESH";
2547
2539
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_SLOPE_ARROW"] = 214] = "SE_RTTI_ELEMENT_SLOPE_ARROW";
2548
2540
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_VIEW_SHED"] = 215] = "SE_RTTI_ELEMENT_VIEW_SHED";
@@ -2551,10 +2543,8 @@ var STAMP_RTTI = /* @__PURE__ */ ((STAMP_RTTI2) => {
2551
2543
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_SPHERE_PYRAMID"] = 218] = "SE_RTTI_ELEMENT_SPHERE_PYRAMID";
2552
2544
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_SEMISPHERE"] = 219] = "SE_RTTI_ELEMENT_SEMISPHERE";
2553
2545
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_LINE"] = 220] = "SE_RTTI_ELEMENT_LINE";
2554
- STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_TILE_MESH"] = 221] = "SE_RTTI_ELEMENT_TILE_MESH";
2555
2546
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_MODEL"] = 222] = "SE_RTTI_ELEMENT_MODEL";
2556
2547
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_EDIT_MODEL"] = 223] = "SE_RTTI_EDIT_MODEL";
2557
- STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_PARAPET"] = 224] = "SE_RTTI_ELEMENT_PARAPET";
2558
2548
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_SLOPE"] = 225] = "SE_RTTI_ELEMENT_SLOPE";
2559
2549
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_WATER"] = 226] = "SE_RTTI_ELEMENT_WATER";
2560
2550
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_CIRCLE"] = 227] = "SE_RTTI_ELEMENT_CIRCLE";
@@ -2634,8 +2624,8 @@ var STAMP_RTTI = /* @__PURE__ */ ((STAMP_RTTI2) => {
2634
2624
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_UE_ICON"] = 330] = "SE_RTTI_ELEMENT_UE_ICON";
2635
2625
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_TRAFFIC_FLOW_LINE"] = 333] = "SE_RTTI_ELEMENT_TRAFFIC_FLOW_LINE";
2636
2626
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_OD_LINE"] = 334] = "SE_RTTI_ELEMENT_OD_LINE";
2637
- STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_OD_LINE_CIRCLE"] = 336] = "SE_RTTI_ELEMENT_OD_LINE_CIRCLE";
2638
2627
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_SPLINE_FLOW_LINE"] = 335] = "SE_RTTI_ELEMENT_SPLINE_FLOW_LINE";
2628
+ STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_ELEMENT_OD_LINE_CIRCLE"] = 336] = "SE_RTTI_ELEMENT_OD_LINE_CIRCLE";
2639
2629
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_D3D9_MESH_SUBSET"] = 405] = "SE_RTTI_D3D9_MESH_SUBSET";
2640
2630
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_GEOMETRY_MESH_SUBSET"] = 406] = "SE_RTTI_GEOMETRY_MESH_SUBSET";
2641
2631
  STAMP_RTTI2[STAMP_RTTI2["SE_RTTI_X_MEHS"] = 407] = "SE_RTTI_X_MEHS";
@@ -26509,9 +26499,38 @@ var StampUtil = new class {
26509
26499
  }
26510
26500
  //#endregion
26511
26501
  //#region 北斗网格
26502
+ /**
26503
+ * 创建添加北斗网格图层
26504
+ * @param {Object} params 创建参数
26505
+ * @param {string} [params.guid] 图层 GUID,不传自动生成
26506
+ * @param {number} [params.rtti] 图层类型,默认北斗网格图层(SE_RTTI_BEIDOU_GRID_LAYER)
26507
+ * @param {number} [params.beidouGridType] 北斗网格类型,默认 0
26508
+ * @param {string} [params.color] 网格颜色,默认 #00ff00
26509
+ * @param {number} [params.level] 显示层级
26510
+ * @param {string} [params.beginLayer] 起始层
26511
+ * @param {string} [params.endLayer] 结束层
26512
+ * @param {Object} [params.lonLatRect] 经纬度范围
26513
+ * @param {boolean} [params.isWhole] 是否全局网格,默认 false
26514
+ * @param {string} [params.backColor] 背景颜色
26515
+ * @param {number} [params.lineWidth] 线宽(1-10),默认 2
26516
+ * @param {number} [params.lineIntensity] 线发光强度(0-1000),默认 50
26517
+ * @param {number} [params.backTransparent] 背景透明度(0-1.0),默认 0
26518
+ * @param {number} [params.illuminateIntensity] 发光强度(0-1),默认 0.0
26519
+ * @returns {Promise<Object>} 创建完成后的图层数据
26520
+ * @example
26521
+ * ```ts
26522
+ * // 创建指定经纬度范围内层级为 6 的北斗网格
26523
+ * const layer = await StampUtil.createAddGridLayer({
26524
+ * level: 6,
26525
+ * color: "#00ff00",
26526
+ * lineWidth: 2,
26527
+ * lonLatRect: { west: 116.0, east: 116.5, south: 39.0, north: 39.5 },
26528
+ * });
26529
+ * console.log(layer.guid);
26530
+ * ```
26531
+ */
26512
26532
  createAddGridLayer(params) {
26513
26533
  return new Promise((resolve) => {
26514
- debugger;
26515
26534
  const beidou_interface = StampUtil.getLibax().beidou_grid_interface;
26516
26535
  beidou_interface.OnCreateFinished = (data) => {
26517
26536
  resolve(data);
@@ -26537,6 +26556,21 @@ var StampUtil = new class {
26537
26556
  beidou_interface.create_layer(obj);
26538
26557
  });
26539
26558
  }
26559
+ /**
26560
+ * 修改北斗网格图层
26561
+ * @param {Object} params 修改参数(同创建参数)
26562
+ * @param {string} [params.guid] 图层 GUID
26563
+ * @returns {Promise<Object>} 修改完成后的图层数据
26564
+ * @example
26565
+ * ```ts
26566
+ * // 修改已存在的网格图层颜色与层级
26567
+ * await StampUtil.modifyGridLayer({
26568
+ * guid: "your-layer-guid",
26569
+ * color: "#ffff00",
26570
+ * level: 8,
26571
+ * });
26572
+ * ```
26573
+ */
26540
26574
  modifyGridLayer(params) {
26541
26575
  return new Promise((resolve) => {
26542
26576
  const beidou_interface = StampUtil.getLibax().beidou_grid_interface;
@@ -26546,14 +26580,34 @@ var StampUtil = new class {
26546
26580
  beidou_interface.modify_layer(params);
26547
26581
  });
26548
26582
  }
26549
- // 显示隐藏网格
26583
+ /**
26584
+ * 显示/隐藏北斗网格图层
26585
+ * @param {string} guid 网格图层 GUID
26586
+ * @param {boolean} isShow 是否显示
26587
+ * @example
26588
+ * ```ts
26589
+ * // 隐藏指定北斗网格图层
26590
+ * StampUtil.isShowGridLayer("your-layer-guid", false);
26591
+ * // 再显示
26592
+ * StampUtil.isShowGridLayer("your-layer-guid", true);
26593
+ * ```
26594
+ */
26550
26595
  isShowGridLayer(guid, isShow) {
26551
26596
  const stamp_frame = StampUtil.getLibax().stamp_frame;
26552
26597
  if (guid) {
26553
26598
  stamp_frame.ChangeVisibilityByGuidCommand(guid, isShow);
26554
26599
  }
26555
26600
  }
26556
- // 删除北斗网格
26601
+ /**
26602
+ * 删除北斗网格图层
26603
+ * @param {string} guid 网格图层 GUID
26604
+ * @returns {Promise<Object>} 删除完成后的数据
26605
+ * @example
26606
+ * ```ts
26607
+ * // 删除指定 GUID 的北斗网格图层
26608
+ * await StampUtil.deleteGridLayer("your-layer-guid");
26609
+ * ```
26610
+ */
26557
26611
  deleteGridLayer(guid) {
26558
26612
  return new Promise((resolve) => {
26559
26613
  if (guid == void 0) {
@@ -26566,9 +26620,28 @@ var StampUtil = new class {
26566
26620
  layer_manager_interface.delete_layer(guid);
26567
26621
  });
26568
26622
  }
26569
- // 查询 id
26623
+ /**
26624
+ * 查询指定位置坐标所属的北斗网格 ID
26625
+ * @param {Object} params 查询参数
26626
+ * @param {number} params.x 经度(X)
26627
+ * @param {number} params.y 纬度(Y)
26628
+ * @param {number} params.z 高程(Z)
26629
+ * @param {number} params.level 网格层级
26630
+ * @param {number} params.type 网格类型,默认 0
26631
+ * @returns {Promise<Object>} 网格 ID 查询结果
26632
+ * @example
26633
+ * ```ts
26634
+ * // 查询北京天安门位置(116.40, 39.90, 0)在层级 6 下的北斗网格编码
26635
+ * const result = await StampUtil.queryGridId({
26636
+ * x: 116.40,
26637
+ * y: 39.90,
26638
+ * z: 0,
26639
+ * level: 6,
26640
+ * });
26641
+ * console.log(result);
26642
+ * ```
26643
+ */
26570
26644
  queryGridId(params) {
26571
- debugger;
26572
26645
  return new Promise((resolve) => {
26573
26646
  const beidou_interface = StampUtil.getLibax().beidou_grid_interface;
26574
26647
  beidou_interface.OnQuery = (data) => {
@@ -26580,10 +26653,20 @@ var StampUtil = new class {
26580
26653
  beidou_interface.query_beidou_id(location2, level, type);
26581
26654
  });
26582
26655
  }
26583
- // 查询网格信息
26656
+ /**
26657
+ * 根据网格编码查询北斗网格信息
26658
+ * @param {string} code 网格编码,不能为空
26659
+ * @param {number} type 网格类型
26660
+ * @returns {Promise<Object>} 网格信息
26661
+ * @example
26662
+ * ```ts
26663
+ * // 根据北斗网格编码查询详细信息
26664
+ * const info = await StampUtil.queryBeidouInfo("13070000000000000000", 0);
26665
+ * console.log(info);
26666
+ * ```
26667
+ */
26584
26668
  queryBeidouInfo(code, type) {
26585
26669
  return new Promise((resolve, reject) => {
26586
- debugger;
26587
26670
  if (!code) {
26588
26671
  reject(new Error("\u7F51\u683C\u7F16\u7801\u4E0D\u80FD\u4E3A\u7A7A"));
26589
26672
  return;
@@ -26602,6 +26685,39 @@ var StampUtil = new class {
26602
26685
  }
26603
26686
  });
26604
26687
  }
26688
+ /**
26689
+ * 添加北斗网格路径图层
26690
+ * @param {Object} params 创建参数
26691
+ * @param {string} [params.guid] 图层 GUID,不传自动生成
26692
+ * @param {string} [params.name] 图层名称,默认 lineGrid
26693
+ * @param {string} [params.color] 路径颜色,默认 #ffff00
26694
+ * @param {number} [params.level] 显示层级,默认 6
26695
+ * @param {string} [params.beginLayer] 起始层
26696
+ * @param {string} [params.endLayer] 结束层
26697
+ * @param {Array<Object>} params.points 路径点集合
26698
+ * @param {number} [params.beidouGridType] 北斗网格类型,默认 0
26699
+ * @param {boolean} [params.isWhole] 是否全局网格,默认 false
26700
+ * @param {string} [params.backColor] 背景颜色,默认 #ff0000
26701
+ * @param {number} [params.lineWidth] 线宽,默认 2
26702
+ * @param {number} [params.lineIntensity] 线发光强度,默认 50
26703
+ * @param {number} [params.backTransparent] 背景透明度,默认 0
26704
+ * @param {number} [params.illuminateIntensity] 发光强度,默认 0
26705
+ * @returns {Promise<Object>} 创建完成后的图层数据
26706
+ * @example
26707
+ * ```ts
26708
+ * // 创建路径北斗网格图层
26709
+ * const pathLayer = await StampUtil.addPathLayer({
26710
+ * name: "myPathGrid",
26711
+ * color: "#ffff00",
26712
+ * level: 6,
26713
+ * points: [
26714
+ * { x: 116.40, y: 39.90, z: 0 },
26715
+ * { x: 116.41, y: 39.91, z: 0 },
26716
+ * ],
26717
+ * });
26718
+ * console.log(pathLayer.guid);
26719
+ * ```
26720
+ */
26605
26721
  addPathLayer(params) {
26606
26722
  return new Promise((resolve) => {
26607
26723
  const beidou_interface = StampUtil.getLibax().beidou_grid_interface;
@@ -26690,10 +26806,25 @@ var ASSET_IMPORTS = {
26690
26806
  pixelstreaming: "@stampgis/webrtc/assets/core/pixelstreaming.js",
26691
26807
  playerControl: "@stampgis/webrtc/assets/core/playerControl.js"
26692
26808
  };
26809
+ function resolveBundledAssetUrl(relativePath) {
26810
+ const modUrl = import_meta.url;
26811
+ if (!modUrl) {
26812
+ throw new Error(
26813
+ "[@stampgis/webrtc] useBundledAssets \u9700\u8981 ESM \u73AF\u5883\uFF08import.meta.url \u4E0D\u53EF\u7528\uFF09\uFF0C\u8BF7\u6539\u7528 baseUrl \u6216\u663E\u5F0F URL \u65B9\u5F0F\u52A0\u8F7D\u811A\u672C\u3002"
26814
+ );
26815
+ }
26816
+ const isViteDev = modUrl.includes(".vite") || modUrl.includes("/@fs/") || modUrl.includes("\\@fs\\");
26817
+ if (isViteDev) {
26818
+ const origin = new URL(modUrl).origin;
26819
+ const path = relativePath.replace(/^\.\.\/assets\//, "assets/");
26820
+ return `${origin}/node_modules/@stampgis/webrtc/${path}`;
26821
+ }
26822
+ return new URL(relativePath, modUrl).href;
26823
+ }
26693
26824
  var BUNDLED_ASSET_URLS = {
26694
- config: new URL("../assets/config/stamp_core_config.js", import_meta.url).href,
26695
- pixelstreaming: new URL("../assets/core/pixelstreaming.js", import_meta.url).href,
26696
- playerControl: new URL("../assets/core/playerControl.js", import_meta.url).href
26825
+ config: resolveBundledAssetUrl("../assets/config/stamp_core_config.js"),
26826
+ pixelstreaming: resolveBundledAssetUrl("../assets/core/pixelstreaming.js"),
26827
+ playerControl: resolveBundledAssetUrl("../assets/core/playerControl.js")
26697
26828
  };
26698
26829
  var coreLoaded = false;
26699
26830
  async function loadCore(options = {}) {
@@ -26728,8 +26859,10 @@ async function loadCore(options = {}) {
26728
26859
  '[@stampgis/webrtc] \u672A\u914D\u7F6E\u811A\u672C\u52A0\u8F7D\u65B9\u5F0F\u3002\n\u8BF7\u9009\u62E9\u4EE5\u4E0B\u65B9\u5F0F\u4E4B\u4E00\uFF1A\n 1. loadCore({ useBundledAssets: true }) \u2014\u2014 \u4ECE\u5305\u5185 assets \u52A0\u8F7D\n 2. loadCore({ baseUrl: "/gis/" }) \u2014\u2014 \u4ECE\u670D\u52A1\u5668\u52A0\u8F7D\n 3. loadCore({ configUrl, pixelstreamingUrl, playerControlUrl }) \u2014\u2014 \u7CBE\u786E URL\n'
26729
26860
  );
26730
26861
  }
26731
- await loadScript(configSrc);
26732
- await waitForGlobal("stamp_core_config", timeout);
26862
+ if (!window.stamp_core_config) {
26863
+ await loadScript(configSrc);
26864
+ await waitForGlobal("stamp_core_config", timeout);
26865
+ }
26733
26866
  await loadScript(pixelstreamingSrc);
26734
26867
  await waitForGlobal("StampPixelStreaming", timeout);
26735
26868
  await loadScript(playerControlSrc);