gis-view-webgl2 0.1.9 → 0.1.10

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
@@ -2,6 +2,10 @@
2
2
 
3
3
  不依赖任何图形库的 WebGL2 矢量视图:点、线、背景层(图片 / GeoJSON)与首屏落位(`initialView`)都通过 `createGisView(dom, options)` 创建,宽高默认跟随传入的 DOM 容器;跨项目复用的视图级逻辑用 `plugins` 挂载。
4
4
 
5
+ 本轮按 `修改.txt` 两条收口节点间距口径:`fitSpacing` 的 `minDistance` / `maxDistance` 改为二选一,同时写时只启用 `maxDistance`,不再同时保留两个相反方向的约束;`getPointSpacing()` 改为按当前相机比例返回 CSS 像素,与 `fitSpacing` 同一套屏幕口径,可直接拿来配置最小 / 最大中心距,除以 `getScale()` 才回到世界单位。demo 样式面板增加距离模式选择,返回值、类型与相关手册同步。公开实例成员与 options 计数不变。
6
+
7
+ 上一轮按 `修改.txt` 三条补齐直接连接筛选、回显比例与节点距离读数:`getDirectConnections(pointIds, options?)` 固定返回 `{ channels, lines }`,第二段可写 `'channel'` / `'line'` / `'both'` 或 `{ kind }`,只查一列时另一列为空数组;新增 `getPointSpacing()` 读当前可见节点的最近正距离、最远距离与两端节点(当轮为世界坐标单位,当前已改为 CSS 像素);`fitSpacing.maxDistance` 用最远节点对的屏幕距离压住稀疏数据的适应比例,和 `minDistance` 冲突时以最大距优先(当前已改为二选一)。导出回显要一比一还原时保存 `getCamera()` 并交给 `initialView`(`exportData({ format: 'full' })` 已自带 `view.camera`),只改数据不换实例则用 `updateData()` / `importData()` 保持当前相机。公开实例成员增至 **274**(**269** 个方法 + **5** 个属性),options / 数据字段 / 事件 / 功能开关保持 **100 / 266 / 44 / 17**。
8
+
5
9
  本轮按 `修改.txt` 四条补齐批量编辑、通道简略与合并可控项:场站 / 线路用 `patchPoints` / `patchLines` / `removePoints` / `removeLines` 一次处理多条,通道与分组把 `updateChannel` / `removeChannel` / `splitChannelGroups` / `removeChannelGroup` 等放进 `batch`,整批只记一步历史、只发一条 `batch` 数据变更(`BatchAddDemo` 已给增删改与分组配方)。新增 `channelSimplify`:`true` 缺省阈值 4,也可写 `{ enabled, threshold, style }`;分组回线数严格大于阈值时只画第一条可见回线,代表线可自定义样式,没有 `groups` 的通道按一组处理,数据 / 分组读数 / 导出不变(`ChannelDemo`)。合并时线路与通道端点继续改写、自环清理与 `mergeInfo` 自动解除保留;节点业务字段缺省全部取保留端,只有 `merge.maxKeys`(数组或逗号字符串,缺省空表)列出的有限数字字段取双方最高,`['vn_kv', 'value']` 即只保留这两项的较高值。`splitPoint` 的 `options.select` 缺省 `false`,解除 / 拆分后不选中结果、保留无关选中,显式 `true` 才选中全部结果;`CopyMergeDemo` 增加 maxKeys 与 select 开关。公开实例成员 / 方法 / 属性保持 **272 / 267 / 5**,options / 数据字段 / 事件 / 功能开关为 **100 / 266 / 44 / 17**。
6
10
 
7
11
  本轮按 `问题.txt` 五条补齐视图与标签能力:新增 `getCenter()` / `setCenter(center)`,可独立读写视图中心、保留当前比例;`selectionOnTop` 下选中线路与通道抬到普通节点之上,但两端节点仍压在线路上。节点 / 线路标签支持 `zIndex`、节点标签可 `followNodeZIndex` 跟随节点样式链,并能在更高层节点图标压住时整条让位;`zoomScale` 让字号可按地图比例缩放或保持屏幕固定。性能侧继续收口标签遮挡索引、缩放字号缓存与抬层批次,`updatePoint` / `patchPoints` 改层级或尺寸时会正确补排受影响的标签。公开实例成员增至 **269**(**264** 个方法 + **5** 个属性),options / 数据字段 / 事件 / 功能开关为 **96 / 261 / 43 / 17**。
@@ -33,7 +37,7 @@ npm run dev
33
37
 
34
38
  源码本身就是 JS:`src/gis-view/*.js` 逐文件带中文注释,对外类型集中在 `src/gis-view/types.d.ts`(构建时复制成 `dist/index.d.ts`),不用先编译就能直接读。想照着从零写一遍看 [从 0 到完整的实现](docs/从0到完整的实现.md),里面有一份可以照抄的 mini 实现与验收清单。
35
39
 
36
- 想知道组件到底有哪些属性和方法:[GisView 文档](docs/GisView.md) 的「实例方法」一节把 272 个实例成员(方法 + `el` / `canvas` / `gl` / `cameraAnimating` 这类属性)与 100 个 `options` 键逐个列全;demo 的「视图 · 交互」页签里有同一份清单(`?demo=full`,可搜索、点一条就对当前视图求值);`node docs/steps/check-doc-coverage.mjs` 负责 10 项双向对账,改完源码或文档先跑 `node docs/steps/gen-api-index.mjs` 重生成 demo 读的那一份(三类查询的口径见 [docs/steps/README.md](docs/steps/README.md) 的「怎么查全部属性与方法」)。
40
+ 想知道组件到底有哪些属性和方法:[GisView 文档](docs/GisView.md) 的「实例方法」一节把 274 个实例成员(方法 + `el` / `canvas` / `gl` / `cameraAnimating` 这类属性)与 100 个 `options` 键逐个列全;demo 的「视图 · 交互」页签里有同一份清单(`?demo=full`,可搜索、点一条就对当前视图求值);`node docs/steps/check-doc-coverage.mjs` 负责 10 项双向对账,改完源码或文档先跑 `node docs/steps/gen-api-index.mjs` 重生成 demo 读的那一份(三类查询的口径见 [docs/steps/README.md](docs/steps/README.md) 的「怎么查全部属性与方法」)。
37
41
 
38
42
  ## 构建 npm 包
39
43