소스 정보
- 저장소
- ming1zhou88/minemap-skills
- 최근 소스 활동
- 2026년 3월 20일 07:01
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 4
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/ming1zhou88/minemap-skills --skill minemap-plugin-edit명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | minemap-plugin-edit |
| description | MineMap 编辑插件规范。用于要素绘制、选中、样式覆写、锁定、批量写入与叠加编辑。 |
Edit 不是 source/index.js 里的内建主干类,而是 demo 明确依赖的外挂编辑插件。
从 demo 看,它的真实接入方式是:
load 后执行 new minemap.edit.init(map, options)注意:这些插件资源在 demo 里主要通过远程 / 内网 URL 引入,并不是当前仓库里统一打包好的正式源码入口。因此文档只能把它视为“demo 已验证的外部插件依赖”,不能把它描述成 MineMap 主包内建能力。
所以它更像“编辑工作台层”,而不是 style layer、scene component 或 primitive。
以下能力都已在 demo 中出现:
new minemap.edit.init(map, options)edit.onBtnCtrlActive(mode)edit.setCustomStyle(style)edit.setFeatures(featureCollection)edit.draw.add(featureOrCollection)edit.draw.getSelectedIds()edit.draw.deleteAll()edit.setFeaturePropertiesByIds(ids, properties)edit.setLockByIds(ids, true)map.on('edit.record.create', handler)这说明业务上应把它当作“独立插件实例 + 内部 draw 池”的模式使用。
map.on('load', ...) 中创建 editsetCustomStyle(...) 或 setFeaturePropertiesByIds(...)classificationType、锁定与交互拾取冲突对应 demo:demo/html/Edit.html
最基础的控制方式不是直接调用一堆 draw 子方法,而是统一走:
edit.onBtnCtrlActive('point')edit.onBtnCtrlActive('line')edit.onBtnCtrlActive('polygon')edit.onBtnCtrlActive('rectangle')edit.onBtnCtrlActive('circle')edit.onBtnCtrlActive('trash')edit.onBtnCtrlActive('undo')edit.onBtnCtrlActive('redo')这说明:如果业务要做自定义工具条,最稳的做法是“自己做按钮 UI,但把状态切换仍委托给插件”。
对应 demo:demo/html/LineRoundCap.html
已有 FeatureCollection 时,优先:
edit.setFeatures(fc)要在现有编辑池继续追加时,再用:
edit.draw.add(featureCollection)这两个入口语义不同,不建议混成一个“万能导入函数”理解。
对应 demo:demo/html/LineRoundCap.html
插件允许在写入后按 id 批量改属性:
edit.setFeaturePropertiesByIds(ids, {...})demo 已验证的属性包括:
custom_stylelineWidthlineColorfillColorfillOpacityfillOutlineColorfillOutlineWidthfillOutlineDasharray因此,“编辑态样式”与“业务属性”是可以放在同一个 feature properties 体系里协同管理的。
对应 demo:demo/html/VectorGeojsonOverlap.html
和 demo/html/FillLayerWithOverlapPolygon.html
这里要分两种已在 demo 出现的写法:
VectorGeojsonOverlap.html
edit.draw.add(feature)edit.setLockByIds([activeId], true)FillLayerWithOverlapPolygon.html
edit.setFeatures(otherOrgFeature) 放入底稿edit.draw.add(...) 继续追加当前活动要素与轮廓要素setFeatures(...) 的返回值,但没有显式调用 setLockByIds(...)因此,能被明确证明的“显式锁定 API 用法”来自 VectorGeojsonOverlap.html;FillLayerWithOverlapPolygon.html 更适合当作“底稿 + 当前编辑要素分池组织”的证据。
这类模式适合:
对应 demo:demo/html/VectorGeojsonOverlap.html
在编辑初始化参数里,demo 出现了:
classificationType: true从注释语义看,它用于让 edit 相关图层位于三维图层之上。业务只要涉及:
都应优先检查这个开关。
Edit 不是 MineMap 主包自动可用对象。不要在没有额外引入插件脚本的前提下,直接假设 minemap.edit 一定存在。
load 后再初始化demo 都是在 map.on('load', ...) 中创建插件实例。编辑层本质上依赖地图内部样式与交互状态,过早初始化容易出时序问题。
当你已经用 custom_style、lineWidth、fillColor 这类属性驱动样式时,就不要再在别处维护第二套脱节样式状态。
底稿锁定后再追加活动要素,是 demo 支持的可靠路径。不要把“可展示”和“可编辑”混成一个 feature pool。
不合适。它不是只负责渲染的 source/layer,而是带交互状态、选择态、撤销重做与编辑生命周期的插件。
new minemap.edit.init(...)容易出现交互层、样式层或事件绑定状态不稳定的问题。
若你有模型、地形、栅格、贴地面图层同时存在,编辑图形可能被遮挡;这时要复核:
classificationTypedepth-testedit 实例,不要反复销毁重建FeatureCollectiondemo/html/Edit.htmldemo/html/LineRoundCap.htmldemo/html/VectorGeojsonOverlap.htmldemo/html/FillLayerWithOverlapPolygon.htmlminemap-style-and-dataminemap-events-and-pickingminemap-2d-3d-overlay-and-classificationminemap-primitive-adapt-terrainSOC 직업 분류 기준