@ray-js/robot-map-sdk 0.0.17-beta.3 → 0.0.17-beta.4

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 (65) hide show
  1. package/dist/constant/methods.js +1 -1
  2. package/dist/index.d.ts +199 -5
  3. package/dist/index.rjs.js +1 -1
  4. package/dist-app/assets/index-Bju2ykDd.js +1 -0
  5. package/dist-app/index.html +1 -1
  6. package/dist-docs/404.html +2 -2
  7. package/dist-docs/assets/{app.C3BeeaYd.js → app.C5xCc25N.js} +1 -1
  8. package/dist-docs/assets/chunks/@localSearchIndexroot.JKj3B6eW.js +1 -0
  9. package/dist-docs/assets/chunks/{BitmapFont.BQzmxL0v.js → BitmapFont.CfNZJWQu.js} +1 -1
  10. package/dist-docs/assets/chunks/{BufferResource.CNdzQT3n.js → BufferResource.U7KmcJEb.js} +1 -1
  11. package/dist-docs/assets/chunks/{CanvasRenderer.BfEovjEl.js → CanvasRenderer.V8PvjkXK.js} +1 -1
  12. package/dist-docs/assets/chunks/{RenderTargetSystem.BsnW3px2.js → RenderTargetSystem.CIN4IDnj.js} +1 -1
  13. package/dist-docs/assets/chunks/{VPLocalSearchBox.BV6OAhiI.js → VPLocalSearchBox.BXtgZMz6.js} +1 -1
  14. package/dist-docs/assets/chunks/{WebGLRenderer.BziWi5pK.js → WebGLRenderer.9sqpUvol.js} +1 -1
  15. package/dist-docs/assets/chunks/{WebGPURenderer.bELKl5QM.js → WebGPURenderer.B8iy8W66.js} +1 -1
  16. package/dist-docs/assets/chunks/{browserAll.Cbwmm72I.js → browserAll.Curl4kc3.js} +1 -1
  17. package/dist-docs/assets/chunks/index.BPYuggut.js +744 -0
  18. package/dist-docs/assets/chunks/theme.DdcAePki.js +4 -0
  19. package/dist-docs/assets/chunks/{webworkerAll.BqQ8oBVT.js → webworkerAll.9SOLh1Dq.js} +1 -1
  20. package/dist-docs/assets/{guide_getting-started.md.DQIIL6ql.js → guide_getting-started.md.Ca_k5NRJ.js} +1 -1
  21. package/dist-docs/assets/reference_callbacks.md.BP78Z1wN.js +33 -0
  22. package/dist-docs/assets/{reference_callbacks.md.Cm_LNx97.lean.js → reference_callbacks.md.BP78Z1wN.lean.js} +1 -1
  23. package/dist-docs/assets/{reference_config.md.BslTlkKM.js → reference_config.md.DHyraAQF.js} +4 -4
  24. package/dist-docs/assets/reference_config.md.DHyraAQF.lean.js +1 -0
  25. package/dist-docs/assets/{reference_data.md.jnSR7326.js → reference_data.md.f7vBtzcn.js} +15 -3
  26. package/dist-docs/assets/{reference_data.md.jnSR7326.lean.js → reference_data.md.f7vBtzcn.lean.js} +1 -1
  27. package/dist-docs/assets/{reference_methods.md.Cv8q9vtz.js → reference_methods.md.D2L6f98h.js} +9 -4
  28. package/dist-docs/assets/{reference_methods.md.Cv8q9vtz.lean.js → reference_methods.md.D2L6f98h.lean.js} +1 -1
  29. package/dist-docs/assets/reference_runtime.md.g-NWJXS6.js +20 -0
  30. package/dist-docs/assets/{reference_runtime.md.BFQ83m1B.lean.js → reference_runtime.md.g-NWJXS6.lean.js} +1 -1
  31. package/dist-docs/assets/{reference_types.md.ifmL7IbS.js → reference_types.md.B2PPyukT.js} +18 -3
  32. package/dist-docs/assets/{reference_types.md.ifmL7IbS.lean.js → reference_types.md.B2PPyukT.lean.js} +1 -1
  33. package/dist-docs/guide/advanced-usage.html +3 -3
  34. package/dist-docs/guide/concepts.html +3 -3
  35. package/dist-docs/guide/getting-started.html +5 -5
  36. package/dist-docs/guide/mcp.html +3 -3
  37. package/dist-docs/guide/spot-room-binding.html +3 -3
  38. package/dist-docs/hashmap.json +1 -1
  39. package/dist-docs/index.html +3 -3
  40. package/dist-docs/plans/2026-03-04-detected-objects-visibility-design.html +3 -3
  41. package/dist-docs/plans/2026-03-04-show-detected-objects-implementation-plan.html +3 -3
  42. package/dist-docs/plans/2026-03-10-simulator-debug-design.html +3 -3
  43. package/dist-docs/plans/2026-03-10-simulator-events-console-design.html +3 -3
  44. package/dist-docs/plans/2026-03-10-simulator-events-console-implementation-plan.html +3 -3
  45. package/dist-docs/plans/2026-03-10-simulator-runtime-controls-design.html +3 -3
  46. package/dist-docs/plans/2026-03-10-simulator-runtime-controls-implementation-plan.html +3 -3
  47. package/dist-docs/plans/2026-03-10-testing-rollout-next-steps-plan.html +3 -3
  48. package/dist-docs/plans/2026-03-11-simulator-logger-dump-implementation-plan.html +3 -3
  49. package/dist-docs/reference/callbacks.html +5 -5
  50. package/dist-docs/reference/config.html +7 -7
  51. package/dist-docs/reference/data.html +18 -6
  52. package/dist-docs/reference/methods.html +12 -7
  53. package/dist-docs/reference/runtime.html +5 -5
  54. package/dist-docs/reference/types.html +21 -6
  55. package/dist-docs/reference/utils.html +3 -3
  56. package/dist-docs/simulator/index.html +3 -3
  57. package/package.json +1 -1
  58. package/dist-app/assets/index-BVLfQBTu.js +0 -1
  59. package/dist-docs/assets/chunks/@localSearchIndexroot.BMKcHG_i.js +0 -1
  60. package/dist-docs/assets/chunks/index.CsLbOa5r.js +0 -744
  61. package/dist-docs/assets/chunks/theme.BItp-bTH.js +0 -4
  62. package/dist-docs/assets/reference_callbacks.md.Cm_LNx97.js +0 -33
  63. package/dist-docs/assets/reference_config.md.BslTlkKM.lean.js +0 -1
  64. package/dist-docs/assets/reference_runtime.md.BFQ83m1B.js +0 -20
  65. /package/dist-docs/assets/{guide_getting-started.md.DQIIL6ql.lean.js → guide_getting-started.md.Ca_k5NRJ.lean.js} +0 -0
@@ -1,4 +1,4 @@
1
- import{_ as e,c as i,o as a,aq as t}from"./chunks/framework.CBLqO2Q1.js";const g=JSON.parse('{"title":"配置","description":"","frontmatter":{},"headers":[],"relativePath":"reference/config.md","filePath":"reference/config.md","lastUpdated":1785747127000}'),s={name:"reference/config.md"};function l(r,o,n,c,d,h){return a(),i("div",null,[...o[0]||(o[0]=[t(`<h1 id="配置" tabindex="-1">配置 <a class="header-anchor" href="#配置" aria-label="Permalink to &quot;配置&quot;">​</a></h1><p>了解 RobotMap 的配置选项,用于定制地图的视觉样式、素材资源、交互行为等。</p><div class="tip custom-block"><p class="custom-block-title">响应式配置</p><p>配置是<strong>响应式</strong>的,当你修改传入的 <code>config</code> prop 时,地图会自动更新视觉效果,无需重新初始化。这使得主题切换、颜色调整等功能的实现变得简单直接。</p></div><div class="tip custom-block"><p class="custom-block-title">TIP</p><ul><li>本文档部分配置项的单位与<strong>米</strong>相关,该配置的值会根据地图数据里的分辨率转换为像素单位。</li></ul></div><h2 id="使用示例" tabindex="-1">使用示例 <a class="header-anchor" href="#使用示例" aria-label="Permalink to &quot;使用示例&quot;">​</a></h2><h3 id="基础配置" tabindex="-1">基础配置 <a class="header-anchor" href="#基础配置" aria-label="Permalink to &quot;基础配置&quot;">​</a></h3><p>配置通过 <code>config</code> 传递,所有配置项都是可选的,你可以只覆盖需要修改的部分。</p><div class="language-tsx vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">tsx</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> React </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;react&#39;</span></span>
1
+ import{_ as e,c as i,o as t,aq as a}from"./chunks/framework.CBLqO2Q1.js";const g=JSON.parse('{"title":"配置","description":"","frontmatter":{},"headers":[],"relativePath":"reference/config.md","filePath":"reference/config.md","lastUpdated":1785988485000}'),s={name:"reference/config.md"};function r(l,o,n,c,d,h){return t(),i("div",null,[...o[0]||(o[0]=[a(`<h1 id="配置" tabindex="-1">配置 <a class="header-anchor" href="#配置" aria-label="Permalink to &quot;配置&quot;">​</a></h1><p>了解 RobotMap 的配置选项,用于定制地图的视觉样式、素材资源、交互行为等。</p><div class="tip custom-block"><p class="custom-block-title">响应式配置</p><p>配置是<strong>响应式</strong>的,当你修改传入的 <code>config</code> prop 时,地图会自动更新视觉效果,无需重新初始化。这使得主题切换、颜色调整等功能的实现变得简单直接。</p></div><div class="tip custom-block"><p class="custom-block-title">TIP</p><ul><li>本文档部分配置项的单位与<strong>米</strong>相关,该配置的值会根据地图数据里的分辨率转换为像素单位。</li></ul></div><h2 id="使用示例" tabindex="-1">使用示例 <a class="header-anchor" href="#使用示例" aria-label="Permalink to &quot;使用示例&quot;">​</a></h2><h3 id="基础配置" tabindex="-1">基础配置 <a class="header-anchor" href="#基础配置" aria-label="Permalink to &quot;基础配置&quot;">​</a></h3><p>配置通过 <code>config</code> 传递,所有配置项都是可选的,你可以只覆盖需要修改的部分。</p><div class="language-tsx vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">tsx</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> React </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;react&#39;</span></span>
2
2
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { RobotMap } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;@ray-js/robot-map&#39;</span></span>
3
3
  <span class="line"></span>
4
4
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> MapPage</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">() {</span></span>
@@ -191,7 +191,7 @@ import{_ as e,c as i,o as a,aq as t}from"./chunks/framework.CBLqO2Q1.js";const g
191
191
  <span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> src</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> string</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // 图片 URL</span></span>
192
192
  <span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> width</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> number</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // 默认宽度(米)</span></span>
193
193
  <span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> height</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> number</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // 默认高度(米)</span></span>
194
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><div class="tip custom-block"><p class="custom-block-title">TIP</p><p><code>width</code> 和 <code>height</code> 的单位是米,用于 <code>getFurniturePointsByViewportCenter()</code> 生成初始矩形时确定家具的实际尺寸。SDK 内部会根据地图的 <code>resolution</code> 自动将米转换为像素坐标。</p><p>例如双人床默认 <code>width: 1.8</code>(1.8 米)、<code>height: 2.0</code>(2.0 米)。</p></div><h3 id="furniture-opacity" tabindex="-1">furniture.opacity <a class="header-anchor" href="#furniture-opacity" aria-label="Permalink to &quot;furniture.opacity&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li></ul><p>家具图片的全局透明度 (0-1)。</p><h3 id="furniture-iconwrapperfillcolor" tabindex="-1">furniture.iconWrapperFillColor <a class="header-anchor" href="#furniture-iconwrapperfillcolor" aria-label="Permalink to &quot;furniture.iconWrapperFillColor&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#26a69a&#39;</code></li></ul><p>编辑按钮(删除、旋转、缩放、移动)图标容器的填充颜色。</p><h3 id="furniture-outlineoffset" tabindex="-1">furniture.outlineOffset <a class="header-anchor" href="#furniture-outlineoffset" aria-label="Permalink to &quot;furniture.outlineOffset&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑轮廓相对于家具边界的偏移距离。</p><h3 id="furniture-outlinestrokecolor" tabindex="-1">furniture.outlineStrokeColor <a class="header-anchor" href="#furniture-outlinestrokecolor" aria-label="Permalink to &quot;furniture.outlineStrokeColor&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#26a69a&#39;</code></li></ul><p>编辑轮廓描边颜色。</p><h3 id="furniture-outlinestrokewidth" tabindex="-1">furniture.outlineStrokeWidth <a class="header-anchor" href="#furniture-outlinestrokewidth" aria-label="Permalink to &quot;furniture.outlineStrokeWidth&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1.5</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑轮廓描边宽度。</p><h3 id="furniture-outlinefillcolor" tabindex="-1">furniture.outlineFillColor <a class="header-anchor" href="#furniture-outlinefillcolor" aria-label="Permalink to &quot;furniture.outlineFillColor&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(38, 166, 154, 0.05)&#39;</code></li></ul><p>编辑轮廓填充颜色。</p><h3 id="furniture-outlinedashed" tabindex="-1">furniture.outlineDashed <a class="header-anchor" href="#furniture-outlinedashed" aria-label="Permalink to &quot;furniture.outlineDashed&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>编辑轮廓是否为虚线。</p><h3 id="furniture-outlinedasharray" tabindex="-1">furniture.outlineDashArray <a class="header-anchor" href="#furniture-outlinedasharray" aria-label="Permalink to &quot;furniture.outlineDashArray&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[4, 3]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑轮廓虚线样式 [实线长度, 间隙长度]。</p><h3 id="furniture-showsizetext" tabindex="-1">furniture.showSizeText <a class="header-anchor" href="#furniture-showsizetext" aria-label="Permalink to &quot;furniture.showSizeText&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>是否在编辑状态下显示家具的尺寸文本。</p><h3 id="furniture-textcolor" tabindex="-1">furniture.textColor <a class="header-anchor" href="#furniture-textcolor" aria-label="Permalink to &quot;furniture.textColor&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#26a69a&#39;</code></li></ul><p>尺寸文本颜色。</p><h3 id="furniture-textposition" tabindex="-1">furniture.textPosition <a class="header-anchor" href="#furniture-textposition" aria-label="Permalink to &quot;furniture.textPosition&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>&#39;top&#39; | &#39;right&#39; | &#39;bottom&#39; | &#39;left&#39;</code></li><li><strong>默认值</strong>: <code>&#39;bottom&#39;</code></li></ul><p>尺寸文本显示位置。</p><h3 id="furniture-textoffset" tabindex="-1">furniture.textOffset <a class="header-anchor" href="#furniture-textoffset" aria-label="Permalink to &quot;furniture.textOffset&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>尺寸文本距离轮廓的偏移。</p><h3 id="furniture-minscaleratio" tabindex="-1">furniture.minScaleRatio <a class="header-anchor" href="#furniture-minscaleratio" aria-label="Permalink to &quot;furniture.minScaleRatio&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0.5</code></li></ul><p>缩放按钮允许的最小缩放倍数(相对于初始尺寸)。设为 <code>0</code> 表示不限制最小缩放。</p><h3 id="furniture-maxscaleratio" tabindex="-1">furniture.maxScaleRatio <a class="header-anchor" href="#furniture-maxscaleratio" aria-label="Permalink to &quot;furniture.maxScaleRatio&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li></ul><p>缩放按钮允许的最大缩放倍数(相对于初始尺寸)。设为 <code>Infinity</code> 表示不限制最大缩放。</p><h3 id="furniture-rotatedirection" tabindex="-1">furniture.rotateDirection <a class="header-anchor" href="#furniture-rotatedirection" aria-label="Permalink to &quot;furniture.rotateDirection&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>&#39;cw&#39; | &#39;ccw&#39;</code></li><li><strong>默认值</strong>: <code>&#39;cw&#39;</code></li></ul><p>点击旋转按钮时的旋转方向。</p><ul><li><code>&#39;cw&#39;</code>:顺时针旋转 90 度</li><li><code>&#39;ccw&#39;</code>:逆时针旋转 90 度</li></ul><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>旋转后,编辑按钮(删除、旋转、缩放、移动)会保持在各自的视觉位置不变,用户可以连续点击旋转按钮。</p></div><h3 id="furniture-lockaspectratio" tabindex="-1">furniture.lockAspectRatio <a class="header-anchor" href="#furniture-lockaspectratio" aria-label="Permalink to &quot;furniture.lockAspectRatio&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>缩放时是否锁定宽高比。启用后,拖拽缩放手柄时宽度和高度将等比例缩放,保持家具原始的宽高比例不变。</p><h2 id="robot" tabindex="-1">robot <a class="header-anchor" href="#robot" aria-label="Permalink to &quot;robot&quot;">​</a></h2><p>机器人配置,控制机器人图标、动画和预警圈的显示。</p><h3 id="robot-icon" tabindex="-1">robot.icon <a class="header-anchor" href="#robot-icon" aria-label="Permalink to &quot;robot.icon&quot;">​</a></h3><p>机器人图标配置。</p><h4 id="robot-icon-sizefixed" tabindex="-1">robot.icon.sizeFixed <a class="header-anchor" href="#robot-icon-sizefixed" aria-label="Permalink to &quot;robot.icon.sizeFixed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>机器人图标尺寸是否固定(不跟随地图缩放变化)。</p><h4 id="robot-icon-width" tabindex="-1">robot.icon.width <a class="header-anchor" href="#robot-icon-width" aria-label="Permalink to &quot;robot.icon.width&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>机器人图标宽度。</p><h4 id="robot-icon-height" tabindex="-1">robot.icon.height <a class="header-anchor" href="#robot-icon-height" aria-label="Permalink to &quot;robot.icon.height&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>机器人图标高度。</p><h4 id="robot-icon-src" tabindex="-1">robot.icon.src <a class="header-anchor" href="#robot-icon-src" aria-label="Permalink to &quot;robot.icon.src&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>机器人图标资源路径。</p><h3 id="robot-speed" tabindex="-1">robot.speed <a class="header-anchor" href="#robot-speed" aria-label="Permalink to &quot;robot.speed&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0</code></li><li><strong>单位</strong>: <code>米/秒</code></li></ul><p>机器人移动速度,用于路径动画。</p><p>路径数据变化时,机器人和增量路径会按照 <code>speed</code> 配置的速度进行动画。</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p><code>speed</code> 设置为<strong>0</strong>可以关闭路径动画,机器人会直接绘制到目标位置。</p></div><h3 id="robot-rotationcorrection" tabindex="-1">robot.rotationCorrection <a class="header-anchor" href="#robot-rotationcorrection" aria-label="Permalink to &quot;robot.rotationCorrection&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0</code></li><li><strong>单位</strong>: <code>度</code></li></ul><p>机器人图标角度校正,用于校正图标默认朝向。</p><p>0度表示图标朝右,角度值按顺时针方向递增。</p><h3 id="robot-sleepanimation" tabindex="-1">robot.sleepAnimation <a class="header-anchor" href="#robot-sleepanimation" aria-label="Permalink to &quot;robot.sleepAnimation&quot;">​</a></h3><p>机器人睡眠动画配置。</p><h4 id="robot-sleepanimation-jsonsrc" tabindex="-1">robot.sleepAnimation.jsonSrc <a class="header-anchor" href="#robot-sleepanimation-jsonsrc" aria-label="Permalink to &quot;robot.sleepAnimation.jsonSrc&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>睡眠动画JSON资源路径,使用<a href="https://www.texturepacker.com/" target="_blank" rel="noreferrer"><strong>TexturePacker</strong></a>生成的JSON文件</p><h4 id="robot-sleepanimation-imagesrc" tabindex="-1">robot.sleepAnimation.imageSrc <a class="header-anchor" href="#robot-sleepanimation-imagesrc" aria-label="Permalink to &quot;robot.sleepAnimation.imageSrc&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>睡眠动画图片资源路径,使用<a href="https://www.texturepacker.com/" target="_blank" rel="noreferrer"><strong>TexturePacker</strong></a>生成的图片资源。</p><h4 id="robot-sleepanimation-imagesrc-1" tabindex="-1">robot.sleepAnimation.imageSrc <a class="header-anchor" href="#robot-sleepanimation-imagesrc-1" aria-label="Permalink to &quot;robot.sleepAnimation.imageSrc&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>睡眠动画图片资源路径,使用<a href="https://www.texturepacker.com/" target="_blank" rel="noreferrer"><strong>TexturePacker</strong></a>生成的图片资源。</p><h4 id="robot-sleepanimation-frameprefix" tabindex="-1">robot.sleepAnimation.framePrefix <a class="header-anchor" href="#robot-sleepanimation-frameprefix" aria-label="Permalink to &quot;robot.sleepAnimation.framePrefix&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>&#39;sleep_&#39;</code></li></ul><p>动画帧名称前缀。</p><h4 id="robot-sleepanimation-width" tabindex="-1">robot.sleepAnimation.width <a class="header-anchor" href="#robot-sleepanimation-width" aria-label="Permalink to &quot;robot.sleepAnimation.width&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>睡眠动画宽度。</p><h4 id="robot-sleepanimation-height" tabindex="-1">robot.sleepAnimation.height <a class="header-anchor" href="#robot-sleepanimation-height" aria-label="Permalink to &quot;robot.sleepAnimation.height&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>睡眠动画高度。</p><h4 id="robot-sleepanimation-sizefixed" tabindex="-1">robot.sleepAnimation.sizeFixed <a class="header-anchor" href="#robot-sleepanimation-sizefixed" aria-label="Permalink to &quot;robot.sleepAnimation.sizeFixed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>睡眠动画尺寸是否固定。</p><h4 id="robot-sleepanimation-framecount" tabindex="-1">robot.sleepAnimation.frameCount <a class="header-anchor" href="#robot-sleepanimation-framecount" aria-label="Permalink to &quot;robot.sleepAnimation.frameCount&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>96</code></li></ul><p>动画总帧数。</p><h4 id="robot-sleepanimation-offsetx" tabindex="-1">robot.sleepAnimation.offsetX <a class="header-anchor" href="#robot-sleepanimation-offsetx" aria-label="Permalink to &quot;robot.sleepAnimation.offsetX&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>睡眠动画X轴偏移。</p><h4 id="robot-sleepanimation-offsety" tabindex="-1">robot.sleepAnimation.offsetY <a class="header-anchor" href="#robot-sleepanimation-offsety" aria-label="Permalink to &quot;robot.sleepAnimation.offsetY&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>-8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>睡眠动画Y轴偏移。</p><h3 id="robot-ring" tabindex="-1">robot.ring <a class="header-anchor" href="#robot-ring" aria-label="Permalink to &quot;robot.ring&quot;">​</a></h3><p>机器人预警圈配置。</p><h4 id="robot-ring-size" tabindex="-1">robot.ring.size <a class="header-anchor" href="#robot-ring-size" aria-label="Permalink to &quot;robot.ring.size&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>预警圈大小。</p><h4 id="robot-ring-color" tabindex="-1">robot.ring.color <a class="header-anchor" href="#robot-ring-color" aria-label="Permalink to &quot;robot.ring.color&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(255, 68, 68, 0.2)&#39;</code></li></ul><p>预警圈填充颜色。</p><h4 id="robot-ring-strokewidth" tabindex="-1">robot.ring.strokeWidth <a class="header-anchor" href="#robot-ring-strokewidth" aria-label="Permalink to &quot;robot.ring.strokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>预警圈描边宽度。</p><h4 id="robot-ring-strokecolor" tabindex="-1">robot.ring.strokeColor <a class="header-anchor" href="#robot-ring-strokecolor" aria-label="Permalink to &quot;robot.ring.strokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ffffff&#39;</code></li></ul><p>预警圈描边颜色。</p><h4 id="robot-ring-strokedashed" tabindex="-1">robot.ring.strokeDashed <a class="header-anchor" href="#robot-ring-strokedashed" aria-label="Permalink to &quot;robot.ring.strokeDashed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>预警圈描边是否为虚线。</p><h4 id="robot-ring-strokedasharray" tabindex="-1">robot.ring.strokeDashArray <a class="header-anchor" href="#robot-ring-strokedasharray" aria-label="Permalink to &quot;robot.ring.strokeDashArray&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[4, 4]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>预警圈虚线样式 [实线长度, 间隙长度]。</p><h3 id="robot-pulsecircle" tabindex="-1">robot.pulseCircle <a class="header-anchor" href="#robot-pulsecircle" aria-label="Permalink to &quot;robot.pulseCircle&quot;">​</a></h3><p>机器人脉冲圈配置,控制呼吸动画效果。</p><h4 id="robot-pulsecircle-size" tabindex="-1">robot.pulseCircle.size <a class="header-anchor" href="#robot-pulsecircle-size" aria-label="Permalink to &quot;robot.pulseCircle.size&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>12</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>脉冲圈的大小(直径)。</p><h4 id="robot-pulsecircle-color" tabindex="-1">robot.pulseCircle.color <a class="header-anchor" href="#robot-pulsecircle-color" aria-label="Permalink to &quot;robot.pulseCircle.color&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#4cd964&#39;</code></li></ul><p>脉冲圈填充颜色。</p><h4 id="robot-pulsecircle-strokewidth" tabindex="-1">robot.pulseCircle.strokeWidth <a class="header-anchor" href="#robot-pulsecircle-strokewidth" aria-label="Permalink to &quot;robot.pulseCircle.strokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>脉冲圈描边宽度。</p><h4 id="robot-pulsecircle-strokecolor" tabindex="-1">robot.pulseCircle.strokeColor <a class="header-anchor" href="#robot-pulsecircle-strokecolor" aria-label="Permalink to &quot;robot.pulseCircle.strokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ffffff&#39;</code></li></ul><p>脉冲圈描边颜色。</p><h4 id="robot-pulsecircle-duration" tabindex="-1">robot.pulseCircle.duration <a class="header-anchor" href="#robot-pulsecircle-duration" aria-label="Permalink to &quot;robot.pulseCircle.duration&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1000</code></li><li><strong>单位</strong>: <code>毫秒</code></li></ul><p>脉冲圈呼吸动画的持续时间(一个完整的呼吸周期)。</p><h4 id="robot-pulsecircle-sizefixed" tabindex="-1">robot.pulseCircle.sizeFixed <a class="header-anchor" href="#robot-pulsecircle-sizefixed" aria-label="Permalink to &quot;robot.pulseCircle.sizeFixed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>脉冲圈尺寸是否固定(不跟随地图缩放变化)。</p><h4 id="robot-pulsecircle-minscale" tabindex="-1">robot.pulseCircle.minScale <a class="header-anchor" href="#robot-pulsecircle-minscale" aria-label="Permalink to &quot;robot.pulseCircle.minScale&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0.5</code></li></ul><p>呼吸动画的最小缩放比例。</p><h4 id="robot-pulsecircle-maxscale" tabindex="-1">robot.pulseCircle.maxScale <a class="header-anchor" href="#robot-pulsecircle-maxscale" aria-label="Permalink to &quot;robot.pulseCircle.maxScale&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li></ul><p>呼吸动画的最大缩放比例。</p><h4 id="robot-pulsecircle-minalpha" tabindex="-1">robot.pulseCircle.minAlpha <a class="header-anchor" href="#robot-pulsecircle-minalpha" aria-label="Permalink to &quot;robot.pulseCircle.minAlpha&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0.5</code></li></ul><p>呼吸动画的最小透明度(0-1 之间)。</p><h4 id="robot-pulsecircle-maxalpha" tabindex="-1">robot.pulseCircle.maxAlpha <a class="header-anchor" href="#robot-pulsecircle-maxalpha" aria-label="Permalink to &quot;robot.pulseCircle.maxAlpha&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li></ul><p>呼吸动画的最大透明度(0-1 之间)。</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>通过调整 <code>minScale/maxScale</code> 和 <code>minAlpha/maxAlpha</code> 可以自定义呼吸效果的幅度和透明度变化。 例如,更大的缩放范围(如 0.4 到 1.2)会产生更明显的呼吸效果。</p></div><h2 id="chargingstation" tabindex="-1">chargingStation <a class="header-anchor" href="#chargingstation" aria-label="Permalink to &quot;chargingStation&quot;">​</a></h2><p>充电桩配置,控制充电桩图标和预警圈的显示。</p><h3 id="chargingstation-icon" tabindex="-1">chargingStation.icon <a class="header-anchor" href="#chargingstation-icon" aria-label="Permalink to &quot;chargingStation.icon&quot;">​</a></h3><p>充电桩图标配置。</p><h4 id="chargingstation-icon-sizefixed" tabindex="-1">chargingStation.icon.sizeFixed <a class="header-anchor" href="#chargingstation-icon-sizefixed" aria-label="Permalink to &quot;chargingStation.icon.sizeFixed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>充电桩图标尺寸是否固定。</p><h4 id="chargingstation-icon-width" tabindex="-1">chargingStation.icon.width <a class="header-anchor" href="#chargingstation-icon-width" aria-label="Permalink to &quot;chargingStation.icon.width&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>充电桩图标宽度。</p><h4 id="chargingstation-icon-height" tabindex="-1">chargingStation.icon.height <a class="header-anchor" href="#chargingstation-icon-height" aria-label="Permalink to &quot;chargingStation.icon.height&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>充电桩图标高度。</p><h4 id="chargingstation-icon-src" tabindex="-1">chargingStation.icon.src <a class="header-anchor" href="#chargingstation-icon-src" aria-label="Permalink to &quot;chargingStation.icon.src&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>充电桩图标资源路径。</p><h3 id="chargingstation-rotationcorrection" tabindex="-1">chargingStation.rotationCorrection <a class="header-anchor" href="#chargingstation-rotationcorrection" aria-label="Permalink to &quot;chargingStation.rotationCorrection&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0</code></li><li><strong>单位</strong>: <code>度</code></li></ul><p>充电桩图标角度校正,用于校正图标默认朝向。</p><p>0度表示图标朝右,角度值按顺时针方向递增。</p><h3 id="chargingstation-ring" tabindex="-1">chargingStation.ring <a class="header-anchor" href="#chargingstation-ring" aria-label="Permalink to &quot;chargingStation.ring&quot;">​</a></h3><p>充电桩预警圈配置。</p><h4 id="chargingstation-ring-size" tabindex="-1">chargingStation.ring.size <a class="header-anchor" href="#chargingstation-ring-size" aria-label="Permalink to &quot;chargingStation.ring.size&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>预警圈大小。</p><h4 id="chargingstation-ring-color" tabindex="-1">chargingStation.ring.color <a class="header-anchor" href="#chargingstation-ring-color" aria-label="Permalink to &quot;chargingStation.ring.color&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(255, 68, 68, 0.2)&#39;</code></li></ul><p>预警圈填充颜色。</p><h4 id="chargingstation-ring-strokewidth" tabindex="-1">chargingStation.ring.strokeWidth <a class="header-anchor" href="#chargingstation-ring-strokewidth" aria-label="Permalink to &quot;chargingStation.ring.strokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>预警圈描边宽度。</p><h4 id="chargingstation-ring-strokecolor" tabindex="-1">chargingStation.ring.strokeColor <a class="header-anchor" href="#chargingstation-ring-strokecolor" aria-label="Permalink to &quot;chargingStation.ring.strokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ffffff&#39;</code></li></ul><p>预警圈描边颜色。</p><h4 id="chargingstation-ring-strokedashed" tabindex="-1">chargingStation.ring.strokeDashed <a class="header-anchor" href="#chargingstation-ring-strokedashed" aria-label="Permalink to &quot;chargingStation.ring.strokeDashed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>预警圈描边是否为虚线。</p><h4 id="chargingstation-ring-strokedasharray" tabindex="-1">chargingStation.ring.strokeDashArray <a class="header-anchor" href="#chargingstation-ring-strokedasharray" aria-label="Permalink to &quot;chargingStation.ring.strokeDashArray&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[4, 4]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>预警圈虚线样式 [实线长度, 间隙长度]。</p><h2 id="controls" tabindex="-1">controls <a class="header-anchor" href="#controls" aria-label="Permalink to &quot;controls&quot;">​</a></h2><p>控制元素配置,包括各种编辑工具的样式和行为设置。</p><h3 id="controls-iconwrapperwidth" tabindex="-1">controls.iconWrapperWidth <a class="header-anchor" href="#controls-iconwrapperwidth" aria-label="Permalink to &quot;controls.iconWrapperWidth&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>24</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>操作按钮图标容器宽度</p><h3 id="controls-iconwrapperheight" tabindex="-1">controls.iconWrapperHeight <a class="header-anchor" href="#controls-iconwrapperheight" aria-label="Permalink to &quot;controls.iconWrapperHeight&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>24</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>操作按钮图标容器高度</p><h3 id="controls-iconwrapperborderradius" tabindex="-1">controls.iconWrapperBorderRadius <a class="header-anchor" href="#controls-iconwrapperborderradius" aria-label="Permalink to &quot;controls.iconWrapperBorderRadius&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>操作按钮图标容器边框圆角</p><h3 id="controls-iconwidth" tabindex="-1">controls.iconWidth <a class="header-anchor" href="#controls-iconwidth" aria-label="Permalink to &quot;controls.iconWidth&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>12</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>操作按钮图标宽度</p><h3 id="controls-iconheight" tabindex="-1">controls.iconHeight <a class="header-anchor" href="#controls-iconheight" aria-label="Permalink to &quot;controls.iconHeight&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>12</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>操作按钮图标高度</p><h3 id="controls-deleteiconsrc" tabindex="-1">controls.deleteIconSrc <a class="header-anchor" href="#controls-deleteiconsrc" aria-label="Permalink to &quot;controls.deleteIconSrc&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>删除按钮图标资源路径</p><h3 id="controls-rotateiconsrc" tabindex="-1">controls.rotateIconSrc <a class="header-anchor" href="#controls-rotateiconsrc" aria-label="Permalink to &quot;controls.rotateIconSrc&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>旋转按钮图标资源路径</p><h3 id="controls-scaleiconsrc" tabindex="-1">controls.scaleIconSrc <a class="header-anchor" href="#controls-scaleiconsrc" aria-label="Permalink to &quot;controls.scaleIconSrc&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>缩放按钮图标资源路径</p><h3 id="controls-moveiconsrc" tabindex="-1">controls.moveIconSrc <a class="header-anchor" href="#controls-moveiconsrc" aria-label="Permalink to &quot;controls.moveIconSrc&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>移动按钮图标资源路径</p><h3 id="controls-horizontalscaleiconsrc" tabindex="-1">controls.horizontalScaleIconSrc <a class="header-anchor" href="#controls-horizontalscaleiconsrc" aria-label="Permalink to &quot;controls.horizontalScaleIconSrc&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>横向缩放按钮图标资源路径。</p><h3 id="controls-verticalscaleiconsrc" tabindex="-1">controls.verticalScaleIconSrc <a class="header-anchor" href="#controls-verticalscaleiconsrc" aria-label="Permalink to &quot;controls.verticalScaleIconSrc&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>纵向缩放按钮图标资源路径。</p><h3 id="controls-movebuttonoffset" tabindex="-1">controls.moveButtonOffset <a class="header-anchor" href="#controls-movebuttonoffset" aria-label="Permalink to &quot;controls.moveButtonOffset&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>30</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>移动按钮偏移距离</p><h3 id="controls-textfontsize" tabindex="-1">controls.textFontSize <a class="header-anchor" href="#controls-textfontsize" aria-label="Permalink to &quot;controls.textFontSize&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>12</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>尺寸标签文本字体大小</p><h3 id="controls-textfontfamily" tabindex="-1">controls.textFontFamily <a class="header-anchor" href="#controls-textfontfamily" aria-label="Permalink to &quot;controls.textFontFamily&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>&#39;system-ui, -apple-system, sans-serif&#39;</code></li></ul><p>尺寸标签文本字体名称</p><h3 id="controls-textfontweight" tabindex="-1">controls.textFontWeight <a class="header-anchor" href="#controls-textfontweight" aria-label="Permalink to &quot;controls.textFontWeight&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>TextStyleFontWeight</code></li><li><strong>默认值</strong>: <code>&#39;400&#39;</code></li></ul><p>尺寸标签文本字体粗细</p><h3 id="controls-renderorder" tabindex="-1">controls.renderOrder <a class="header-anchor" href="#controls-renderorder" aria-label="Permalink to &quot;controls.renderOrder&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>ControlRenderItem[]</code></li><li><strong>默认值</strong>: <code>[&#39;forbiddenSweepZone&#39;, &#39;forbiddenMopZone&#39;, &#39;cleanZone&#39;, &#39;virtualWall&#39;, &#39;spot&#39;, &#39;wayPoint&#39;, &#39;divider&#39;]</code></li></ul><p>控制层内元素渲染顺序配置,数组从下到上生效(后面的元素显示在更上层)。</p><p><strong>可选值:</strong></p><ul><li><code>&#39;forbiddenSweepZone&#39;</code></li><li><code>&#39;forbiddenMopZone&#39;</code></li><li><code>&#39;cleanZone&#39;</code></li><li><code>&#39;virtualWall&#39;</code></li><li><code>&#39;spot&#39;</code></li><li><code>&#39;wayPoint&#39;</code></li><li><code>&#39;divider&#39;</code></li><li>任意通过 <a href="#customzonetypes"><code>customZoneTypes</code></a> 声明的自定义区域类型名</li></ul><p>配置说明:</p><ul><li>你可以通过调整数组顺序来控制不同控制元素的覆盖关系。</li><li>如果配置中缺少某些内置元素,SDK 会自动按默认顺序补齐(自定义类型不会被自动补齐)。</li><li>如果配置中存在重复元素,SDK 仅保留首次出现的位置。</li><li>未写入 <code>renderOrder</code> 的自定义类型会渲染在所有已声明元素之下,且它们之间的相对层级由创建顺序决定;建议把所有需要严格排序的自定义类型都显式写入 <code>renderOrder</code>。</li></ul><p>示例:让禁扫区域显示在禁拖区域上方</p><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> app</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> MapApplication</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">()</span></span>
194
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><div class="tip custom-block"><p class="custom-block-title">TIP</p><p><code>width</code> 和 <code>height</code> 的单位是米,用于 <code>getFurniturePointsByViewportCenter()</code> 生成初始矩形时确定家具的实际尺寸。SDK 内部会根据地图的 <code>resolution</code> 自动将米转换为像素坐标。</p><p>例如双人床默认 <code>width: 1.8</code>(1.8 米)、<code>height: 2.0</code>(2.0 米)。</p></div><h3 id="furniture-opacity" tabindex="-1">furniture.opacity <a class="header-anchor" href="#furniture-opacity" aria-label="Permalink to &quot;furniture.opacity&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li></ul><p>家具图片的全局透明度 (0-1)。</p><h3 id="furniture-iconwrapperfillcolor" tabindex="-1">furniture.iconWrapperFillColor <a class="header-anchor" href="#furniture-iconwrapperfillcolor" aria-label="Permalink to &quot;furniture.iconWrapperFillColor&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#26a69a&#39;</code></li></ul><p>编辑按钮(删除、旋转、缩放、移动)图标容器的填充颜色。</p><h3 id="furniture-outlineoffset" tabindex="-1">furniture.outlineOffset <a class="header-anchor" href="#furniture-outlineoffset" aria-label="Permalink to &quot;furniture.outlineOffset&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑轮廓相对于家具边界的偏移距离。</p><h3 id="furniture-outlinestrokecolor" tabindex="-1">furniture.outlineStrokeColor <a class="header-anchor" href="#furniture-outlinestrokecolor" aria-label="Permalink to &quot;furniture.outlineStrokeColor&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#26a69a&#39;</code></li></ul><p>编辑轮廓描边颜色。</p><h3 id="furniture-outlinestrokewidth" tabindex="-1">furniture.outlineStrokeWidth <a class="header-anchor" href="#furniture-outlinestrokewidth" aria-label="Permalink to &quot;furniture.outlineStrokeWidth&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1.5</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑轮廓描边宽度。</p><h3 id="furniture-outlinefillcolor" tabindex="-1">furniture.outlineFillColor <a class="header-anchor" href="#furniture-outlinefillcolor" aria-label="Permalink to &quot;furniture.outlineFillColor&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(38, 166, 154, 0.05)&#39;</code></li></ul><p>编辑轮廓填充颜色。</p><h3 id="furniture-outlinedashed" tabindex="-1">furniture.outlineDashed <a class="header-anchor" href="#furniture-outlinedashed" aria-label="Permalink to &quot;furniture.outlineDashed&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>编辑轮廓是否为虚线。</p><h3 id="furniture-outlinedasharray" tabindex="-1">furniture.outlineDashArray <a class="header-anchor" href="#furniture-outlinedasharray" aria-label="Permalink to &quot;furniture.outlineDashArray&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[4, 3]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑轮廓虚线样式 [实线长度, 间隙长度]。</p><h3 id="furniture-showsizetext" tabindex="-1">furniture.showSizeText <a class="header-anchor" href="#furniture-showsizetext" aria-label="Permalink to &quot;furniture.showSizeText&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>是否在编辑状态下显示家具的尺寸文本。</p><h3 id="furniture-textcolor" tabindex="-1">furniture.textColor <a class="header-anchor" href="#furniture-textcolor" aria-label="Permalink to &quot;furniture.textColor&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#26a69a&#39;</code></li></ul><p>尺寸文本颜色。</p><h3 id="furniture-textposition" tabindex="-1">furniture.textPosition <a class="header-anchor" href="#furniture-textposition" aria-label="Permalink to &quot;furniture.textPosition&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>&#39;top&#39; | &#39;right&#39; | &#39;bottom&#39; | &#39;left&#39;</code></li><li><strong>默认值</strong>: <code>&#39;bottom&#39;</code></li></ul><p>尺寸文本显示位置。</p><h3 id="furniture-textoffset" tabindex="-1">furniture.textOffset <a class="header-anchor" href="#furniture-textoffset" aria-label="Permalink to &quot;furniture.textOffset&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>尺寸文本距离轮廓的偏移。</p><h3 id="furniture-minscaleratio" tabindex="-1">furniture.minScaleRatio <a class="header-anchor" href="#furniture-minscaleratio" aria-label="Permalink to &quot;furniture.minScaleRatio&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0.5</code></li></ul><p>缩放按钮允许的最小缩放倍数(相对于初始尺寸)。设为 <code>0</code> 表示不限制最小缩放。</p><h3 id="furniture-maxscaleratio" tabindex="-1">furniture.maxScaleRatio <a class="header-anchor" href="#furniture-maxscaleratio" aria-label="Permalink to &quot;furniture.maxScaleRatio&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li></ul><p>缩放按钮允许的最大缩放倍数(相对于初始尺寸)。设为 <code>Infinity</code> 表示不限制最大缩放。</p><h3 id="furniture-rotatedirection" tabindex="-1">furniture.rotateDirection <a class="header-anchor" href="#furniture-rotatedirection" aria-label="Permalink to &quot;furniture.rotateDirection&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>&#39;cw&#39; | &#39;ccw&#39;</code></li><li><strong>默认值</strong>: <code>&#39;cw&#39;</code></li></ul><p>点击旋转按钮时的旋转方向。</p><ul><li><code>&#39;cw&#39;</code>:顺时针旋转 90 度</li><li><code>&#39;ccw&#39;</code>:逆时针旋转 90 度</li></ul><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>旋转后,编辑按钮(删除、旋转、缩放、移动)会保持在各自的视觉位置不变,用户可以连续点击旋转按钮。</p></div><h3 id="furniture-lockaspectratio" tabindex="-1">furniture.lockAspectRatio <a class="header-anchor" href="#furniture-lockaspectratio" aria-label="Permalink to &quot;furniture.lockAspectRatio&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>缩放时是否锁定宽高比。启用后,拖拽缩放手柄时宽度和高度将等比例缩放,保持家具原始的宽高比例不变。</p><h2 id="robot" tabindex="-1">robot <a class="header-anchor" href="#robot" aria-label="Permalink to &quot;robot&quot;">​</a></h2><p>机器人配置,控制机器人图标、动画和预警圈的显示。</p><h3 id="robot-icon" tabindex="-1">robot.icon <a class="header-anchor" href="#robot-icon" aria-label="Permalink to &quot;robot.icon&quot;">​</a></h3><p>机器人图标配置。</p><h4 id="robot-icon-sizefixed" tabindex="-1">robot.icon.sizeFixed <a class="header-anchor" href="#robot-icon-sizefixed" aria-label="Permalink to &quot;robot.icon.sizeFixed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>机器人图标尺寸是否固定(不跟随地图缩放变化)。</p><h4 id="robot-icon-width" tabindex="-1">robot.icon.width <a class="header-anchor" href="#robot-icon-width" aria-label="Permalink to &quot;robot.icon.width&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>机器人图标宽度。</p><h4 id="robot-icon-height" tabindex="-1">robot.icon.height <a class="header-anchor" href="#robot-icon-height" aria-label="Permalink to &quot;robot.icon.height&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>机器人图标高度。</p><h4 id="robot-icon-src" tabindex="-1">robot.icon.src <a class="header-anchor" href="#robot-icon-src" aria-label="Permalink to &quot;robot.icon.src&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>机器人图标资源路径。</p><h3 id="robot-speed" tabindex="-1">robot.speed <a class="header-anchor" href="#robot-speed" aria-label="Permalink to &quot;robot.speed&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0</code></li><li><strong>单位</strong>: <code>米/秒</code></li></ul><p>机器人移动速度,用于路径动画。</p><p>路径数据变化时,机器人和增量路径会按照 <code>speed</code> 配置的速度进行动画。</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p><code>speed</code> 设置为<strong>0</strong>可以关闭路径动画,机器人会直接绘制到目标位置。</p></div><h3 id="robot-rotationcorrection" tabindex="-1">robot.rotationCorrection <a class="header-anchor" href="#robot-rotationcorrection" aria-label="Permalink to &quot;robot.rotationCorrection&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0</code></li><li><strong>单位</strong>: <code>度</code></li></ul><p>机器人图标角度校正,用于校正图标默认朝向。</p><p>0度表示图标朝右,角度值按顺时针方向递增。</p><h3 id="robot-sleepanimation" tabindex="-1">robot.sleepAnimation <a class="header-anchor" href="#robot-sleepanimation" aria-label="Permalink to &quot;robot.sleepAnimation&quot;">​</a></h3><p>机器人睡眠动画配置。</p><h4 id="robot-sleepanimation-jsonsrc" tabindex="-1">robot.sleepAnimation.jsonSrc <a class="header-anchor" href="#robot-sleepanimation-jsonsrc" aria-label="Permalink to &quot;robot.sleepAnimation.jsonSrc&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>睡眠动画JSON资源路径,使用<a href="https://www.texturepacker.com/" target="_blank" rel="noreferrer"><strong>TexturePacker</strong></a>生成的JSON文件</p><h4 id="robot-sleepanimation-imagesrc" tabindex="-1">robot.sleepAnimation.imageSrc <a class="header-anchor" href="#robot-sleepanimation-imagesrc" aria-label="Permalink to &quot;robot.sleepAnimation.imageSrc&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>睡眠动画图片资源路径,使用<a href="https://www.texturepacker.com/" target="_blank" rel="noreferrer"><strong>TexturePacker</strong></a>生成的图片资源。</p><h4 id="robot-sleepanimation-imagesrc-1" tabindex="-1">robot.sleepAnimation.imageSrc <a class="header-anchor" href="#robot-sleepanimation-imagesrc-1" aria-label="Permalink to &quot;robot.sleepAnimation.imageSrc&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>睡眠动画图片资源路径,使用<a href="https://www.texturepacker.com/" target="_blank" rel="noreferrer"><strong>TexturePacker</strong></a>生成的图片资源。</p><h4 id="robot-sleepanimation-frameprefix" tabindex="-1">robot.sleepAnimation.framePrefix <a class="header-anchor" href="#robot-sleepanimation-frameprefix" aria-label="Permalink to &quot;robot.sleepAnimation.framePrefix&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>&#39;sleep_&#39;</code></li></ul><p>动画帧名称前缀。</p><h4 id="robot-sleepanimation-width" tabindex="-1">robot.sleepAnimation.width <a class="header-anchor" href="#robot-sleepanimation-width" aria-label="Permalink to &quot;robot.sleepAnimation.width&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>睡眠动画宽度。</p><h4 id="robot-sleepanimation-height" tabindex="-1">robot.sleepAnimation.height <a class="header-anchor" href="#robot-sleepanimation-height" aria-label="Permalink to &quot;robot.sleepAnimation.height&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>睡眠动画高度。</p><h4 id="robot-sleepanimation-sizefixed" tabindex="-1">robot.sleepAnimation.sizeFixed <a class="header-anchor" href="#robot-sleepanimation-sizefixed" aria-label="Permalink to &quot;robot.sleepAnimation.sizeFixed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>睡眠动画尺寸是否固定。</p><h4 id="robot-sleepanimation-framecount" tabindex="-1">robot.sleepAnimation.frameCount <a class="header-anchor" href="#robot-sleepanimation-framecount" aria-label="Permalink to &quot;robot.sleepAnimation.frameCount&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>96</code></li></ul><p>动画总帧数。</p><h4 id="robot-sleepanimation-offsetx" tabindex="-1">robot.sleepAnimation.offsetX <a class="header-anchor" href="#robot-sleepanimation-offsetx" aria-label="Permalink to &quot;robot.sleepAnimation.offsetX&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>睡眠动画X轴偏移。</p><h4 id="robot-sleepanimation-offsety" tabindex="-1">robot.sleepAnimation.offsetY <a class="header-anchor" href="#robot-sleepanimation-offsety" aria-label="Permalink to &quot;robot.sleepAnimation.offsetY&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>-8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>睡眠动画Y轴偏移。</p><h3 id="robot-ring" tabindex="-1">robot.ring <a class="header-anchor" href="#robot-ring" aria-label="Permalink to &quot;robot.ring&quot;">​</a></h3><p>机器人预警圈配置。</p><h4 id="robot-ring-size" tabindex="-1">robot.ring.size <a class="header-anchor" href="#robot-ring-size" aria-label="Permalink to &quot;robot.ring.size&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>预警圈大小。</p><h4 id="robot-ring-color" tabindex="-1">robot.ring.color <a class="header-anchor" href="#robot-ring-color" aria-label="Permalink to &quot;robot.ring.color&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(255, 68, 68, 0.2)&#39;</code></li></ul><p>预警圈填充颜色。</p><h4 id="robot-ring-strokewidth" tabindex="-1">robot.ring.strokeWidth <a class="header-anchor" href="#robot-ring-strokewidth" aria-label="Permalink to &quot;robot.ring.strokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>预警圈描边宽度。</p><h4 id="robot-ring-strokecolor" tabindex="-1">robot.ring.strokeColor <a class="header-anchor" href="#robot-ring-strokecolor" aria-label="Permalink to &quot;robot.ring.strokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ffffff&#39;</code></li></ul><p>预警圈描边颜色。</p><h4 id="robot-ring-strokedashed" tabindex="-1">robot.ring.strokeDashed <a class="header-anchor" href="#robot-ring-strokedashed" aria-label="Permalink to &quot;robot.ring.strokeDashed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>预警圈描边是否为虚线。</p><h4 id="robot-ring-strokedasharray" tabindex="-1">robot.ring.strokeDashArray <a class="header-anchor" href="#robot-ring-strokedasharray" aria-label="Permalink to &quot;robot.ring.strokeDashArray&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[4, 4]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>预警圈虚线样式 [实线长度, 间隙长度]。</p><h3 id="robot-pulsecircle" tabindex="-1">robot.pulseCircle <a class="header-anchor" href="#robot-pulsecircle" aria-label="Permalink to &quot;robot.pulseCircle&quot;">​</a></h3><p>机器人脉冲圈配置,控制呼吸动画效果。</p><h4 id="robot-pulsecircle-size" tabindex="-1">robot.pulseCircle.size <a class="header-anchor" href="#robot-pulsecircle-size" aria-label="Permalink to &quot;robot.pulseCircle.size&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>12</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>脉冲圈的大小(直径)。</p><h4 id="robot-pulsecircle-color" tabindex="-1">robot.pulseCircle.color <a class="header-anchor" href="#robot-pulsecircle-color" aria-label="Permalink to &quot;robot.pulseCircle.color&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#4cd964&#39;</code></li></ul><p>脉冲圈填充颜色。</p><h4 id="robot-pulsecircle-strokewidth" tabindex="-1">robot.pulseCircle.strokeWidth <a class="header-anchor" href="#robot-pulsecircle-strokewidth" aria-label="Permalink to &quot;robot.pulseCircle.strokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>脉冲圈描边宽度。</p><h4 id="robot-pulsecircle-strokecolor" tabindex="-1">robot.pulseCircle.strokeColor <a class="header-anchor" href="#robot-pulsecircle-strokecolor" aria-label="Permalink to &quot;robot.pulseCircle.strokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ffffff&#39;</code></li></ul><p>脉冲圈描边颜色。</p><h4 id="robot-pulsecircle-duration" tabindex="-1">robot.pulseCircle.duration <a class="header-anchor" href="#robot-pulsecircle-duration" aria-label="Permalink to &quot;robot.pulseCircle.duration&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1000</code></li><li><strong>单位</strong>: <code>毫秒</code></li></ul><p>脉冲圈呼吸动画的持续时间(一个完整的呼吸周期)。</p><h4 id="robot-pulsecircle-sizefixed" tabindex="-1">robot.pulseCircle.sizeFixed <a class="header-anchor" href="#robot-pulsecircle-sizefixed" aria-label="Permalink to &quot;robot.pulseCircle.sizeFixed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>脉冲圈尺寸是否固定(不跟随地图缩放变化)。</p><h4 id="robot-pulsecircle-minscale" tabindex="-1">robot.pulseCircle.minScale <a class="header-anchor" href="#robot-pulsecircle-minscale" aria-label="Permalink to &quot;robot.pulseCircle.minScale&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0.5</code></li></ul><p>呼吸动画的最小缩放比例。</p><h4 id="robot-pulsecircle-maxscale" tabindex="-1">robot.pulseCircle.maxScale <a class="header-anchor" href="#robot-pulsecircle-maxscale" aria-label="Permalink to &quot;robot.pulseCircle.maxScale&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li></ul><p>呼吸动画的最大缩放比例。</p><h4 id="robot-pulsecircle-minalpha" tabindex="-1">robot.pulseCircle.minAlpha <a class="header-anchor" href="#robot-pulsecircle-minalpha" aria-label="Permalink to &quot;robot.pulseCircle.minAlpha&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0.5</code></li></ul><p>呼吸动画的最小透明度(0-1 之间)。</p><h4 id="robot-pulsecircle-maxalpha" tabindex="-1">robot.pulseCircle.maxAlpha <a class="header-anchor" href="#robot-pulsecircle-maxalpha" aria-label="Permalink to &quot;robot.pulseCircle.maxAlpha&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li></ul><p>呼吸动画的最大透明度(0-1 之间)。</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>通过调整 <code>minScale/maxScale</code> 和 <code>minAlpha/maxAlpha</code> 可以自定义呼吸效果的幅度和透明度变化。 例如,更大的缩放范围(如 0.4 到 1.2)会产生更明显的呼吸效果。</p></div><h2 id="chargingstation" tabindex="-1">chargingStation <a class="header-anchor" href="#chargingstation" aria-label="Permalink to &quot;chargingStation&quot;">​</a></h2><p>充电桩配置,控制充电桩图标和预警圈的显示。</p><h3 id="chargingstation-icon" tabindex="-1">chargingStation.icon <a class="header-anchor" href="#chargingstation-icon" aria-label="Permalink to &quot;chargingStation.icon&quot;">​</a></h3><p>充电桩图标配置。</p><h4 id="chargingstation-icon-sizefixed" tabindex="-1">chargingStation.icon.sizeFixed <a class="header-anchor" href="#chargingstation-icon-sizefixed" aria-label="Permalink to &quot;chargingStation.icon.sizeFixed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>充电桩图标尺寸是否固定。</p><h4 id="chargingstation-icon-width" tabindex="-1">chargingStation.icon.width <a class="header-anchor" href="#chargingstation-icon-width" aria-label="Permalink to &quot;chargingStation.icon.width&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>充电桩图标宽度。</p><h4 id="chargingstation-icon-height" tabindex="-1">chargingStation.icon.height <a class="header-anchor" href="#chargingstation-icon-height" aria-label="Permalink to &quot;chargingStation.icon.height&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>充电桩图标高度。</p><h4 id="chargingstation-icon-src" tabindex="-1">chargingStation.icon.src <a class="header-anchor" href="#chargingstation-icon-src" aria-label="Permalink to &quot;chargingStation.icon.src&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>充电桩图标资源路径。</p><h3 id="chargingstation-rotationcorrection" tabindex="-1">chargingStation.rotationCorrection <a class="header-anchor" href="#chargingstation-rotationcorrection" aria-label="Permalink to &quot;chargingStation.rotationCorrection&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0</code></li><li><strong>单位</strong>: <code>度</code></li></ul><p>充电桩图标角度校正,用于校正图标默认朝向。</p><p>0度表示图标朝右,角度值按顺时针方向递增。</p><h3 id="chargingstation-ring" tabindex="-1">chargingStation.ring <a class="header-anchor" href="#chargingstation-ring" aria-label="Permalink to &quot;chargingStation.ring&quot;">​</a></h3><p>充电桩预警圈配置。</p><h4 id="chargingstation-ring-size" tabindex="-1">chargingStation.ring.size <a class="header-anchor" href="#chargingstation-ring-size" aria-label="Permalink to &quot;chargingStation.ring.size&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>预警圈大小。</p><h4 id="chargingstation-ring-color" tabindex="-1">chargingStation.ring.color <a class="header-anchor" href="#chargingstation-ring-color" aria-label="Permalink to &quot;chargingStation.ring.color&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(255, 68, 68, 0.2)&#39;</code></li></ul><p>预警圈填充颜色。</p><h4 id="chargingstation-ring-strokewidth" tabindex="-1">chargingStation.ring.strokeWidth <a class="header-anchor" href="#chargingstation-ring-strokewidth" aria-label="Permalink to &quot;chargingStation.ring.strokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>预警圈描边宽度。</p><h4 id="chargingstation-ring-strokecolor" tabindex="-1">chargingStation.ring.strokeColor <a class="header-anchor" href="#chargingstation-ring-strokecolor" aria-label="Permalink to &quot;chargingStation.ring.strokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ffffff&#39;</code></li></ul><p>预警圈描边颜色。</p><h4 id="chargingstation-ring-strokedashed" tabindex="-1">chargingStation.ring.strokeDashed <a class="header-anchor" href="#chargingstation-ring-strokedashed" aria-label="Permalink to &quot;chargingStation.ring.strokeDashed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>预警圈描边是否为虚线。</p><h4 id="chargingstation-ring-strokedasharray" tabindex="-1">chargingStation.ring.strokeDashArray <a class="header-anchor" href="#chargingstation-ring-strokedasharray" aria-label="Permalink to &quot;chargingStation.ring.strokeDashArray&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[4, 4]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>预警圈虚线样式 [实线长度, 间隙长度]。</p><h2 id="controls" tabindex="-1">controls <a class="header-anchor" href="#controls" aria-label="Permalink to &quot;controls&quot;">​</a></h2><p>控制元素配置,包括各种编辑工具的样式和行为设置。</p><h3 id="controls-iconwrapperwidth" tabindex="-1">controls.iconWrapperWidth <a class="header-anchor" href="#controls-iconwrapperwidth" aria-label="Permalink to &quot;controls.iconWrapperWidth&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>24</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>操作按钮图标容器宽度</p><h3 id="controls-iconwrapperheight" tabindex="-1">controls.iconWrapperHeight <a class="header-anchor" href="#controls-iconwrapperheight" aria-label="Permalink to &quot;controls.iconWrapperHeight&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>24</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>操作按钮图标容器高度</p><h3 id="controls-iconwrapperborderradius" tabindex="-1">controls.iconWrapperBorderRadius <a class="header-anchor" href="#controls-iconwrapperborderradius" aria-label="Permalink to &quot;controls.iconWrapperBorderRadius&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>操作按钮图标容器边框圆角</p><h3 id="controls-iconwidth" tabindex="-1">controls.iconWidth <a class="header-anchor" href="#controls-iconwidth" aria-label="Permalink to &quot;controls.iconWidth&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>12</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>操作按钮图标宽度</p><h3 id="controls-iconheight" tabindex="-1">controls.iconHeight <a class="header-anchor" href="#controls-iconheight" aria-label="Permalink to &quot;controls.iconHeight&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>12</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>操作按钮图标高度</p><h3 id="controls-deleteiconsrc" tabindex="-1">controls.deleteIconSrc <a class="header-anchor" href="#controls-deleteiconsrc" aria-label="Permalink to &quot;controls.deleteIconSrc&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>删除按钮图标资源路径</p><h3 id="controls-rotateiconsrc" tabindex="-1">controls.rotateIconSrc <a class="header-anchor" href="#controls-rotateiconsrc" aria-label="Permalink to &quot;controls.rotateIconSrc&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>旋转按钮图标资源路径</p><h3 id="controls-scaleiconsrc" tabindex="-1">controls.scaleIconSrc <a class="header-anchor" href="#controls-scaleiconsrc" aria-label="Permalink to &quot;controls.scaleIconSrc&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>缩放按钮图标资源路径</p><h3 id="controls-moveiconsrc" tabindex="-1">controls.moveIconSrc <a class="header-anchor" href="#controls-moveiconsrc" aria-label="Permalink to &quot;controls.moveIconSrc&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>移动按钮图标资源路径</p><h3 id="controls-horizontalscaleiconsrc" tabindex="-1">controls.horizontalScaleIconSrc <a class="header-anchor" href="#controls-horizontalscaleiconsrc" aria-label="Permalink to &quot;controls.horizontalScaleIconSrc&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>横向缩放按钮图标资源路径。</p><h3 id="controls-verticalscaleiconsrc" tabindex="-1">controls.verticalScaleIconSrc <a class="header-anchor" href="#controls-verticalscaleiconsrc" aria-label="Permalink to &quot;controls.verticalScaleIconSrc&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>纵向缩放按钮图标资源路径。</p><h3 id="controls-movebuttonoffset" tabindex="-1">controls.moveButtonOffset <a class="header-anchor" href="#controls-movebuttonoffset" aria-label="Permalink to &quot;controls.moveButtonOffset&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>30</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>移动按钮偏移距离</p><h3 id="controls-textfontsize" tabindex="-1">controls.textFontSize <a class="header-anchor" href="#controls-textfontsize" aria-label="Permalink to &quot;controls.textFontSize&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>12</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>尺寸标签文本字体大小</p><h3 id="controls-textfontfamily" tabindex="-1">controls.textFontFamily <a class="header-anchor" href="#controls-textfontfamily" aria-label="Permalink to &quot;controls.textFontFamily&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>&#39;system-ui, -apple-system, sans-serif&#39;</code></li></ul><p>尺寸标签文本字体名称</p><h3 id="controls-textfontweight" tabindex="-1">controls.textFontWeight <a class="header-anchor" href="#controls-textfontweight" aria-label="Permalink to &quot;controls.textFontWeight&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>TextStyleFontWeight</code></li><li><strong>默认值</strong>: <code>&#39;400&#39;</code></li></ul><p>尺寸标签文本字体粗细</p><h3 id="controls-renderorder" tabindex="-1">controls.renderOrder <a class="header-anchor" href="#controls-renderorder" aria-label="Permalink to &quot;controls.renderOrder&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>ControlRenderItem[]</code></li><li><strong>默认值</strong>: <code>[&#39;forbiddenSweepZone&#39;, &#39;forbiddenMopZone&#39;, &#39;cleanZone&#39;, &#39;virtualWall&#39;, &#39;spot&#39;, &#39;wayPoint&#39;, &#39;divider&#39;]</code></li></ul><p>控制层内元素渲染顺序配置,数组从下到上生效(后面的元素显示在更上层)。</p><p><strong>可选值:</strong></p><ul><li><code>&#39;forbiddenSweepZone&#39;</code></li><li><code>&#39;forbiddenMopZone&#39;</code></li><li><code>&#39;cleanZone&#39;</code></li><li><code>&#39;virtualWall&#39;</code></li><li><code>&#39;spot&#39;</code></li><li><code>&#39;wayPoint&#39;</code></li><li><code>&#39;divider&#39;</code></li><li>任意通过 <a href="#customzonetypes"><code>customZoneTypes</code></a> 声明的自定义区域类型名</li></ul><p>配置说明:</p><ul><li>你可以通过调整数组顺序来控制不同控制元素的覆盖关系。</li><li>如果配置中缺少某些内置元素,SDK 会自动按默认顺序补齐(自定义类型不会被自动补齐)。</li><li>如果配置中存在重复元素,SDK 仅保留首次出现的位置。</li><li>门槛(threshold)与坡道(ramp)<strong>不在</strong>可排序元素之列:它们是不透明的地面元素,画在路径 / 机器人之下的地面标记层,层内顺序固定(坡道在下、门槛在上),不参与控制层排序。</li><li>未写入 <code>renderOrder</code> 的自定义类型会渲染在所有已声明元素之下,且它们之间的相对层级由创建顺序决定;建议把所有需要严格排序的自定义类型都显式写入 <code>renderOrder</code>。</li></ul><p>示例:让禁扫区域显示在禁拖区域上方</p><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> app</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> MapApplication</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">()</span></span>
195
195
  <span class="line"></span>
196
196
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">app.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">initialize</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
197
197
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> config: {</span></span>
@@ -207,7 +207,7 @@ import{_ as e,c as i,o as a,aq as t}from"./chunks/framework.CBLqO2Q1.js";const g
207
207
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ],</span></span>
208
208
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
209
209
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
210
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">})</span></span></code></pre></div><h3 id="controls-forbiddensweepzone" tabindex="-1">controls.forbiddenSweepZone <a class="header-anchor" href="#controls-forbiddensweepzone" aria-label="Permalink to &quot;controls.forbiddenSweepZone&quot;">​</a></h3><p>禁扫区域配置。</p><h4 id="controls-forbiddensweepzone-minsize" tabindex="-1">controls.forbiddenSweepZone.minSize <a class="header-anchor" href="#controls-forbiddensweepzone-minsize" aria-label="Permalink to &quot;controls.forbiddenSweepZone.minSize&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>禁扫区域最小尺寸</p><h4 id="controls-forbiddensweepzone-maxsize" tabindex="-1">controls.forbiddenSweepZone.maxSize <a class="header-anchor" href="#controls-forbiddensweepzone-maxsize" aria-label="Permalink to &quot;controls.forbiddenSweepZone.maxSize&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number | undefined</code></li><li><strong>默认值</strong>: <code>undefined</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>禁扫区域最大尺寸(可选)。缺省、NaN、非正数或 ≤ minSize 时视为不限制,并会在控制台输出一次警告。</p><h4 id="controls-forbiddensweepzone-iconwrapperfillcolor" tabindex="-1">controls.forbiddenSweepZone.iconWrapperFillColor <a class="header-anchor" href="#controls-forbiddensweepzone-iconwrapperfillcolor" aria-label="Permalink to &quot;controls.forbiddenSweepZone.iconWrapperFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ff4444&#39;</code></li></ul><p>图标容器填充颜色</p><h4 id="controls-forbiddensweepzone-strokecolor" tabindex="-1">controls.forbiddenSweepZone.strokeColor <a class="header-anchor" href="#controls-forbiddensweepzone-strokecolor" aria-label="Permalink to &quot;controls.forbiddenSweepZone.strokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ff4444&#39;</code></li></ul><p>禁扫区域描边颜色</p><h4 id="controls-forbiddensweepzone-strokewidth" tabindex="-1">controls.forbiddenSweepZone.strokeWidth <a class="header-anchor" href="#controls-forbiddensweepzone-strokewidth" aria-label="Permalink to &quot;controls.forbiddenSweepZone.strokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>禁扫区域描边宽度</p><h4 id="controls-forbiddensweepzone-fillcolor" tabindex="-1">controls.forbiddenSweepZone.fillColor <a class="header-anchor" href="#controls-forbiddensweepzone-fillcolor" aria-label="Permalink to &quot;controls.forbiddenSweepZone.fillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(255, 68, 68, 0.1)&#39;</code></li></ul><p>禁扫区域填充颜色</p><h4 id="controls-forbiddensweepzone-outlineoffset" tabindex="-1">controls.forbiddenSweepZone.outlineOffset <a class="header-anchor" href="#controls-forbiddensweepzone-outlineoffset" aria-label="Permalink to &quot;controls.forbiddenSweepZone.outlineOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>禁扫区域编辑轮廓偏移</p><h4 id="controls-forbiddensweepzone-outlinestrokecolor" tabindex="-1">controls.forbiddenSweepZone.outlineStrokeColor <a class="header-anchor" href="#controls-forbiddensweepzone-outlinestrokecolor" aria-label="Permalink to &quot;controls.forbiddenSweepZone.outlineStrokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ff4444&#39;</code></li></ul><p>禁扫区域编辑轮廓描边颜色</p><h4 id="controls-forbiddensweepzone-outlinestrokewidth" tabindex="-1">controls.forbiddenSweepZone.outlineStrokeWidth <a class="header-anchor" href="#controls-forbiddensweepzone-outlinestrokewidth" aria-label="Permalink to &quot;controls.forbiddenSweepZone.outlineStrokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>禁扫区域编辑轮廓描边宽度</p><h4 id="controls-forbiddensweepzone-outlinedashed" tabindex="-1">controls.forbiddenSweepZone.outlineDashed <a class="header-anchor" href="#controls-forbiddensweepzone-outlinedashed" aria-label="Permalink to &quot;controls.forbiddenSweepZone.outlineDashed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>禁扫区域编辑轮廓是否为虚线</p><h4 id="controls-forbiddensweepzone-outlinedasharray" tabindex="-1">controls.forbiddenSweepZone.outlineDashArray <a class="header-anchor" href="#controls-forbiddensweepzone-outlinedasharray" aria-label="Permalink to &quot;controls.forbiddenSweepZone.outlineDashArray&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[4, 3]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>禁扫区域编辑轮廓虚线样式</p><h4 id="controls-forbiddensweepzone-outlinefillcolor" tabindex="-1">controls.forbiddenSweepZone.outlineFillColor <a class="header-anchor" href="#controls-forbiddensweepzone-outlinefillcolor" aria-label="Permalink to &quot;controls.forbiddenSweepZone.outlineFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(255, 68, 68, 0.05)&#39;</code></li></ul><p>禁扫区域编辑轮廓填充颜色</p><h4 id="controls-forbiddensweepzone-showrotatebutton" tabindex="-1">controls.forbiddenSweepZone.showRotateButton <a class="header-anchor" href="#controls-forbiddensweepzone-showrotatebutton" aria-label="Permalink to &quot;controls.forbiddenSweepZone.showRotateButton&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>是否显示旋转按钮</p><h4 id="controls-forbiddensweepzone-textcolor" tabindex="-1">controls.forbiddenSweepZone.textColor <a class="header-anchor" href="#controls-forbiddensweepzone-textcolor" aria-label="Permalink to &quot;controls.forbiddenSweepZone.textColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ff4444&#39;</code></li></ul><p>禁扫区域尺寸标签文本颜色</p><h4 id="controls-forbiddensweepzone-textposition" tabindex="-1">controls.forbiddenSweepZone.textPosition <a class="header-anchor" href="#controls-forbiddensweepzone-textposition" aria-label="Permalink to &quot;controls.forbiddenSweepZone.textPosition&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>&#39;top&#39; | &#39;right&#39; | &#39;bottom&#39; | &#39;left&#39;</code></li><li><strong>默认值</strong>: <code>&#39;bottom&#39;</code></li></ul><p>禁扫区域尺寸标签文本位置</p><h4 id="controls-forbiddensweepzone-textoffset" tabindex="-1">controls.forbiddenSweepZone.textOffset <a class="header-anchor" href="#controls-forbiddensweepzone-textoffset" aria-label="Permalink to &quot;controls.forbiddenSweepZone.textOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>禁扫区域尺寸标签文本偏移</p><h4 id="controls-forbiddensweepzone-editing" tabindex="-1">controls.forbiddenSweepZone.editing <a class="header-anchor" href="#controls-forbiddensweepzone-editing" aria-label="Permalink to &quot;controls.forbiddenSweepZone.editing&quot;">​</a></h4><p>区域框编辑模式样式配置。</p><h5 id="controls-forbiddensweepzone-editing-isdashed" tabindex="-1">controls.forbiddenSweepZone.editing.isDashed <a class="header-anchor" href="#controls-forbiddensweepzone-editing-isdashed" aria-label="Permalink to &quot;controls.forbiddenSweepZone.editing.isDashed&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>编辑模式下禁扫区域框是否显示为虚线</p><h5 id="controls-forbiddensweepzone-editing-dasharray" tabindex="-1">controls.forbiddenSweepZone.editing.dashArray <a class="header-anchor" href="#controls-forbiddensweepzone-editing-dasharray" aria-label="Permalink to &quot;controls.forbiddenSweepZone.editing.dashArray&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[0, 0]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑模式下禁扫区域框虚线样式</p><h4 id="controls-forbiddensweepzone-normal" tabindex="-1">controls.forbiddenSweepZone.normal <a class="header-anchor" href="#controls-forbiddensweepzone-normal" aria-label="Permalink to &quot;controls.forbiddenSweepZone.normal&quot;">​</a></h4><p>区域框普通模式样式配置。</p><h5 id="controls-forbiddensweepzone-normal-isdashed" tabindex="-1">controls.forbiddenSweepZone.normal.isDashed <a class="header-anchor" href="#controls-forbiddensweepzone-normal-isdashed" aria-label="Permalink to &quot;controls.forbiddenSweepZone.normal.isDashed&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>普通模式下禁扫区域框是否显示为虚线</p><h5 id="controls-forbiddensweepzone-normal-dasharray" tabindex="-1">controls.forbiddenSweepZone.normal.dashArray <a class="header-anchor" href="#controls-forbiddensweepzone-normal-dasharray" aria-label="Permalink to &quot;controls.forbiddenSweepZone.normal.dashArray&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[0, 0]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>普通模式下禁扫区域框虚线样式</p><h3 id="controls-forbiddenmopzone" tabindex="-1">controls.forbiddenMopZone <a class="header-anchor" href="#controls-forbiddenmopzone" aria-label="Permalink to &quot;controls.forbiddenMopZone&quot;">​</a></h3><p>禁拖区域配置。</p><h4 id="controls-forbiddenmopzone-minsize" tabindex="-1">controls.forbiddenMopZone.minSize <a class="header-anchor" href="#controls-forbiddenmopzone-minsize" aria-label="Permalink to &quot;controls.forbiddenMopZone.minSize&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>禁拖区域最小尺寸</p><h4 id="controls-forbiddenmopzone-maxsize" tabindex="-1">controls.forbiddenMopZone.maxSize <a class="header-anchor" href="#controls-forbiddenmopzone-maxsize" aria-label="Permalink to &quot;controls.forbiddenMopZone.maxSize&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number | undefined</code></li><li><strong>默认值</strong>: <code>undefined</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>禁拖区域最大尺寸(可选)。缺省、NaN、非正数或 ≤ minSize 时视为不限制,并会在控制台输出一次警告。</p><h4 id="controls-forbiddenmopzone-iconwrapperfillcolor" tabindex="-1">controls.forbiddenMopZone.iconWrapperFillColor <a class="header-anchor" href="#controls-forbiddenmopzone-iconwrapperfillcolor" aria-label="Permalink to &quot;controls.forbiddenMopZone.iconWrapperFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#fe8a07&#39;</code></li></ul><p>图标容器填充颜色</p><h4 id="controls-forbiddenmopzone-strokecolor" tabindex="-1">controls.forbiddenMopZone.strokeColor <a class="header-anchor" href="#controls-forbiddenmopzone-strokecolor" aria-label="Permalink to &quot;controls.forbiddenMopZone.strokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#fe8a07&#39;</code></li></ul><p>禁拖区域描边颜色</p><h4 id="controls-forbiddenmopzone-strokewidth" tabindex="-1">controls.forbiddenMopZone.strokeWidth <a class="header-anchor" href="#controls-forbiddenmopzone-strokewidth" aria-label="Permalink to &quot;controls.forbiddenMopZone.strokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>禁拖区域描边宽度</p><h4 id="controls-forbiddenmopzone-fillcolor" tabindex="-1">controls.forbiddenMopZone.fillColor <a class="header-anchor" href="#controls-forbiddenmopzone-fillcolor" aria-label="Permalink to &quot;controls.forbiddenMopZone.fillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(254, 138, 7, 0.1)&#39;</code></li></ul><p>禁拖区域填充颜色</p><h4 id="controls-forbiddenmopzone-outlineoffset" tabindex="-1">controls.forbiddenMopZone.outlineOffset <a class="header-anchor" href="#controls-forbiddenmopzone-outlineoffset" aria-label="Permalink to &quot;controls.forbiddenMopZone.outlineOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>禁拖区域轮廓偏移</p><h4 id="controls-forbiddenmopzone-outlinestrokecolor" tabindex="-1">controls.forbiddenMopZone.outlineStrokeColor <a class="header-anchor" href="#controls-forbiddenmopzone-outlinestrokecolor" aria-label="Permalink to &quot;controls.forbiddenMopZone.outlineStrokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#fe8a07&#39;</code></li></ul><p>禁拖区域轮廓描边颜色</p><h4 id="controls-forbiddenmopzone-outlinestrokewidth" tabindex="-1">controls.forbiddenMopZone.outlineStrokeWidth <a class="header-anchor" href="#controls-forbiddenmopzone-outlinestrokewidth" aria-label="Permalink to &quot;controls.forbiddenMopZone.outlineStrokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>禁拖区域轮廓描边宽度</p><h4 id="controls-forbiddenmopzone-outlinedashed" tabindex="-1">controls.forbiddenMopZone.outlineDashed <a class="header-anchor" href="#controls-forbiddenmopzone-outlinedashed" aria-label="Permalink to &quot;controls.forbiddenMopZone.outlineDashed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>禁拖区域轮廓是否为虚线</p><h4 id="controls-forbiddenmopzone-outlinedasharray" tabindex="-1">controls.forbiddenMopZone.outlineDashArray <a class="header-anchor" href="#controls-forbiddenmopzone-outlinedasharray" aria-label="Permalink to &quot;controls.forbiddenMopZone.outlineDashArray&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[4, 3]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>禁拖区域轮廓虚线样式</p><h4 id="controls-forbiddenmopzone-outlinefillcolor" tabindex="-1">controls.forbiddenMopZone.outlineFillColor <a class="header-anchor" href="#controls-forbiddenmopzone-outlinefillcolor" aria-label="Permalink to &quot;controls.forbiddenMopZone.outlineFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(254, 138, 7, 0.05)&#39;</code></li></ul><p>禁拖区域轮廓填充颜色</p><h4 id="controls-forbiddenmopzone-showrotatebutton" tabindex="-1">controls.forbiddenMopZone.showRotateButton <a class="header-anchor" href="#controls-forbiddenmopzone-showrotatebutton" aria-label="Permalink to &quot;controls.forbiddenMopZone.showRotateButton&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>是否显示旋转按钮</p><h4 id="controls-forbiddenmopzone-textcolor" tabindex="-1">controls.forbiddenMopZone.textColor <a class="header-anchor" href="#controls-forbiddenmopzone-textcolor" aria-label="Permalink to &quot;controls.forbiddenMopZone.textColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#fe8a07&#39;</code></li></ul><p>禁拖区域文本颜色</p><h4 id="controls-forbiddenmopzone-textposition" tabindex="-1">controls.forbiddenMopZone.textPosition <a class="header-anchor" href="#controls-forbiddenmopzone-textposition" aria-label="Permalink to &quot;controls.forbiddenMopZone.textPosition&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>&#39;top&#39; | &#39;right&#39; | &#39;bottom&#39; | &#39;left&#39;</code></li><li><strong>默认值</strong>: <code>&#39;bottom&#39;</code></li></ul><p>禁拖区域文本位置</p><h4 id="controls-forbiddenmopzone-textoffset" tabindex="-1">controls.forbiddenMopZone.textOffset <a class="header-anchor" href="#controls-forbiddenmopzone-textoffset" aria-label="Permalink to &quot;controls.forbiddenMopZone.textOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>禁拖区域文本偏移</p><h4 id="controls-forbiddenmopzone-editing" tabindex="-1">controls.forbiddenMopZone.editing <a class="header-anchor" href="#controls-forbiddenmopzone-editing" aria-label="Permalink to &quot;controls.forbiddenMopZone.editing&quot;">​</a></h4><p>区域框编辑模式样式配置。</p><h5 id="controls-forbiddenmopzone-editing-isdashed" tabindex="-1">controls.forbiddenMopZone.editing.isDashed <a class="header-anchor" href="#controls-forbiddenmopzone-editing-isdashed" aria-label="Permalink to &quot;controls.forbiddenMopZone.editing.isDashed&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>编辑模式下禁拖区域框是否显示为虚线</p><h5 id="controls-forbiddenmopzone-editing-dasharray" tabindex="-1">controls.forbiddenMopZone.editing.dashArray <a class="header-anchor" href="#controls-forbiddenmopzone-editing-dasharray" aria-label="Permalink to &quot;controls.forbiddenMopZone.editing.dashArray&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[0, 0]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑模式下禁拖区域框虚线样式</p><h4 id="controls-forbiddenmopzone-normal" tabindex="-1">controls.forbiddenMopZone.normal <a class="header-anchor" href="#controls-forbiddenmopzone-normal" aria-label="Permalink to &quot;controls.forbiddenMopZone.normal&quot;">​</a></h4><p>区域框普通模式样式配置。</p><h5 id="controls-forbiddenmopzone-normal-isdashed" tabindex="-1">controls.forbiddenMopZone.normal.isDashed <a class="header-anchor" href="#controls-forbiddenmopzone-normal-isdashed" aria-label="Permalink to &quot;controls.forbiddenMopZone.normal.isDashed&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>普通模式下禁拖区域框是否显示为虚线</p><h5 id="controls-forbiddenmopzone-normal-dasharray" tabindex="-1">controls.forbiddenMopZone.normal.dashArray <a class="header-anchor" href="#controls-forbiddenmopzone-normal-dasharray" aria-label="Permalink to &quot;controls.forbiddenMopZone.normal.dashArray&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[0, 0]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>普通模式下禁拖区域框虚线样式</p><h3 id="controls-carpet" tabindex="-1">controls.carpet <a class="header-anchor" href="#controls-carpet" aria-label="Permalink to &quot;controls.carpet&quot;">​</a></h3><p>自定义地毯编辑配置。</p><h4 id="controls-carpet-minsize" tabindex="-1">controls.carpet.minSize <a class="header-anchor" href="#controls-carpet-minsize" aria-label="Permalink to &quot;controls.carpet.minSize&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>自定义地毯最小尺寸。</p><h4 id="controls-carpet-maxsize" tabindex="-1">controls.carpet.maxSize <a class="header-anchor" href="#controls-carpet-maxsize" aria-label="Permalink to &quot;controls.carpet.maxSize&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number | undefined</code></li><li><strong>默认值</strong>: <code>undefined</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>地毯最大尺寸(可选)。缺省、NaN、非正数或 ≤ minSize 时视为不限制,并会在控制台输出一次警告。</p><h4 id="controls-carpet-iconwrapperfillcolor" tabindex="-1">controls.carpet.iconWrapperFillColor <a class="header-anchor" href="#controls-carpet-iconwrapperfillcolor" aria-label="Permalink to &quot;controls.carpet.iconWrapperFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#5d68fe&#39;</code></li></ul><p>图标容器填充颜色,会作用于旋转、缩放、移动以及横向/纵向辅助缩放按钮。</p><h4 id="controls-carpet-deleteiconwrapperfillcolor" tabindex="-1">controls.carpet.deleteIconWrapperFillColor <a class="header-anchor" href="#controls-carpet-deleteiconwrapperfillcolor" aria-label="Permalink to &quot;controls.carpet.deleteIconWrapperFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource | undefined</code></li><li><strong>默认值</strong>: <code>&#39;#ff4444&#39;</code></li></ul><p>地毯删除按钮的图标容器填充颜色。未设置时回退到 <code>controls.carpet.iconWrapperFillColor</code>。</p><h4 id="controls-carpet-rotatemode" tabindex="-1">controls.carpet.rotateMode <a class="header-anchor" href="#controls-carpet-rotatemode" aria-label="Permalink to &quot;controls.carpet.rotateMode&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>&#39;step&#39; | &#39;free&#39;</code></li><li><strong>默认值</strong>: <code>&#39;step&#39;</code></li></ul><p>地毯旋转按钮交互模式。<code>step</code> 表示点击后顺时针旋转 90 度,<code>free</code> 表示按住拖动连续旋转。</p><h4 id="controls-carpet-scalemode" tabindex="-1">controls.carpet.scaleMode <a class="header-anchor" href="#controls-carpet-scalemode" aria-label="Permalink to &quot;controls.carpet.scaleMode&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>&#39;free&#39; | &#39;ratioLocked&#39;</code></li><li><strong>默认值</strong>: <code>&#39;ratioLocked&#39;</code></li></ul><p>地毯右下角缩放按钮交互模式。<code>ratioLocked</code> 表示等比缩放,同时显示横向和纵向辅助缩放按钮;<code>free</code> 表示宽高独立缩放,并隐藏辅助缩放按钮。</p><h4 id="controls-carpet-fillcolor" tabindex="-1">controls.carpet.fillColor <a class="header-anchor" href="#controls-carpet-fillcolor" aria-label="Permalink to &quot;controls.carpet.fillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(93, 104, 254, 0.1)&#39;</code></li></ul><p>地毯填充颜色。</p><h4 id="controls-carpet-outlineoffset" tabindex="-1">controls.carpet.outlineOffset <a class="header-anchor" href="#controls-carpet-outlineoffset" aria-label="Permalink to &quot;controls.carpet.outlineOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>30</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑轮廓偏移。</p><h4 id="controls-carpet-outlinestrokecolor" tabindex="-1">controls.carpet.outlineStrokeColor <a class="header-anchor" href="#controls-carpet-outlinestrokecolor" aria-label="Permalink to &quot;controls.carpet.outlineStrokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(0, 0, 0, 0.7)&#39;</code></li></ul><p>编辑轮廓描边颜色。</p><h4 id="controls-carpet-outlinestrokewidth" tabindex="-1">controls.carpet.outlineStrokeWidth <a class="header-anchor" href="#controls-carpet-outlinestrokewidth" aria-label="Permalink to &quot;controls.carpet.outlineStrokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑轮廓描边宽度。</p><h4 id="controls-carpet-outlinedashed" tabindex="-1">controls.carpet.outlineDashed <a class="header-anchor" href="#controls-carpet-outlinedashed" aria-label="Permalink to &quot;controls.carpet.outlineDashed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>编辑轮廓是否虚线。</p><h4 id="controls-carpet-outlinedasharray" tabindex="-1">controls.carpet.outlineDashArray <a class="header-anchor" href="#controls-carpet-outlinedasharray" aria-label="Permalink to &quot;controls.carpet.outlineDashArray&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[4, 3]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑轮廓虚线样式。</p><h4 id="controls-carpet-outlinefillcolor" tabindex="-1">controls.carpet.outlineFillColor <a class="header-anchor" href="#controls-carpet-outlinefillcolor" aria-label="Permalink to &quot;controls.carpet.outlineFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(93, 104, 254, 0.05)&#39;</code></li></ul><p>编辑轮廓填充颜色。</p><h4 id="controls-carpet-showrotatebutton" tabindex="-1">controls.carpet.showRotateButton <a class="header-anchor" href="#controls-carpet-showrotatebutton" aria-label="Permalink to &quot;controls.carpet.showRotateButton&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>是否显示旋转按钮。</p><h4 id="controls-carpet-textcolor" tabindex="-1">controls.carpet.textColor <a class="header-anchor" href="#controls-carpet-textcolor" aria-label="Permalink to &quot;controls.carpet.textColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#5d68fe&#39;</code></li></ul><p>尺寸文本颜色。</p><h4 id="controls-carpet-textposition" tabindex="-1">controls.carpet.textPosition <a class="header-anchor" href="#controls-carpet-textposition" aria-label="Permalink to &quot;controls.carpet.textPosition&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>&#39;top&#39; | &#39;right&#39; | &#39;bottom&#39; | &#39;left&#39;</code></li><li><strong>默认值</strong>: <code>&#39;bottom&#39;</code></li></ul><p>尺寸文本位置。</p><h4 id="controls-carpet-textoffset" tabindex="-1">controls.carpet.textOffset <a class="header-anchor" href="#controls-carpet-textoffset" aria-label="Permalink to &quot;controls.carpet.textOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>20</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>尺寸文本偏移。</p><h4 id="controls-carpet-editing" tabindex="-1">controls.carpet.editing <a class="header-anchor" href="#controls-carpet-editing" aria-label="Permalink to &quot;controls.carpet.editing&quot;">​</a></h4><h5 id="controls-carpet-editing-isdashed" tabindex="-1">controls.carpet.editing.isDashed <a class="header-anchor" href="#controls-carpet-editing-isdashed" aria-label="Permalink to &quot;controls.carpet.editing.isDashed&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>编辑模式是否虚线。</p><h5 id="controls-carpet-editing-dasharray" tabindex="-1">controls.carpet.editing.dashArray <a class="header-anchor" href="#controls-carpet-editing-dasharray" aria-label="Permalink to &quot;controls.carpet.editing.dashArray&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[4, 3]</code></li></ul><p>编辑模式虚线样式。</p><h4 id="controls-carpet-normal" tabindex="-1">controls.carpet.normal <a class="header-anchor" href="#controls-carpet-normal" aria-label="Permalink to &quot;controls.carpet.normal&quot;">​</a></h4><h5 id="controls-carpet-normal-isdashed" tabindex="-1">controls.carpet.normal.isDashed <a class="header-anchor" href="#controls-carpet-normal-isdashed" aria-label="Permalink to &quot;controls.carpet.normal.isDashed&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>普通模式是否虚线。</p><h5 id="controls-carpet-normal-dasharray" tabindex="-1">controls.carpet.normal.dashArray <a class="header-anchor" href="#controls-carpet-normal-dasharray" aria-label="Permalink to &quot;controls.carpet.normal.dashArray&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[0, 0]</code></li></ul><p>普通模式虚线样式。</p><h3 id="cleanzone" tabindex="-1">cleanZone <a class="header-anchor" href="#cleanzone" aria-label="Permalink to &quot;cleanZone&quot;">​</a></h3><p>清扫区域配置。</p><h4 id="controls-cleanzone-minsize" tabindex="-1">controls.cleanZone.minSize <a class="header-anchor" href="#controls-cleanzone-minsize" aria-label="Permalink to &quot;controls.cleanZone.minSize&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>清扫区域最小尺寸</p><h4 id="controls-cleanzone-maxsize" tabindex="-1">controls.cleanZone.maxSize <a class="header-anchor" href="#controls-cleanzone-maxsize" aria-label="Permalink to &quot;controls.cleanZone.maxSize&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number | undefined</code></li><li><strong>默认值</strong>: <code>undefined</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>清扫区域最大尺寸(可选)。缺省、NaN、非正数或 ≤ minSize 时视为不限制,并会在控制台输出一次警告。</p><h4 id="controls-cleanzone-iconwrapperfillcolor" tabindex="-1">controls.cleanZone.iconWrapperFillColor <a class="header-anchor" href="#controls-cleanzone-iconwrapperfillcolor" aria-label="Permalink to &quot;controls.cleanZone.iconWrapperFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#5d68fe&#39;</code></li></ul><p>清扫区域图标容器填充颜色</p><h4 id="controls-cleanzone-strokecolor" tabindex="-1">controls.cleanZone.strokeColor <a class="header-anchor" href="#controls-cleanzone-strokecolor" aria-label="Permalink to &quot;controls.cleanZone.strokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#5d68fe&#39;</code></li></ul><p>清扫区域描边颜色</p><h4 id="controls-cleanzone-strokewidth" tabindex="-1">controls.cleanZone.strokeWidth <a class="header-anchor" href="#controls-cleanzone-strokewidth" aria-label="Permalink to &quot;controls.cleanZone.strokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>清扫区域描边宽度</p><h4 id="controls-cleanzone-fillcolor" tabindex="-1">controls.cleanZone.fillColor <a class="header-anchor" href="#controls-cleanzone-fillcolor" aria-label="Permalink to &quot;controls.cleanZone.fillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(93, 104, 254, 0.1)&#39;</code></li></ul><p>清扫区域填充颜色</p><h4 id="controls-cleanzone-outlineoffset" tabindex="-1">controls.cleanZone.outlineOffset <a class="header-anchor" href="#controls-cleanzone-outlineoffset" aria-label="Permalink to &quot;controls.cleanZone.outlineOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>清扫区域轮廓偏移</p><h4 id="controls-cleanzone-outlinestrokecolor" tabindex="-1">controls.cleanZone.outlineStrokeColor <a class="header-anchor" href="#controls-cleanzone-outlinestrokecolor" aria-label="Permalink to &quot;controls.cleanZone.outlineStrokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#5d68fe&#39;</code></li></ul><p>清扫区域轮廓描边颜色</p><h4 id="controls-cleanzone-outlinestrokewidth" tabindex="-1">controls.cleanZone.outlineStrokeWidth <a class="header-anchor" href="#controls-cleanzone-outlinestrokewidth" aria-label="Permalink to &quot;controls.cleanZone.outlineStrokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>清扫区域轮廓描边宽度</p><h4 id="controls-cleanzone-outlinedashed" tabindex="-1">controls.cleanZone.outlineDashed <a class="header-anchor" href="#controls-cleanzone-outlinedashed" aria-label="Permalink to &quot;controls.cleanZone.outlineDashed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>清扫区域轮廓是否为虚线</p><h4 id="controls-cleanzone-outlinedasharray" tabindex="-1">controls.cleanZone.outlineDashArray <a class="header-anchor" href="#controls-cleanzone-outlinedasharray" aria-label="Permalink to &quot;controls.cleanZone.outlineDashArray&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[4, 3]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>清扫区域轮廓虚线样式</p><h4 id="controls-cleanzone-outlinefillcolor" tabindex="-1">controls.cleanZone.outlineFillColor <a class="header-anchor" href="#controls-cleanzone-outlinefillcolor" aria-label="Permalink to &quot;controls.cleanZone.outlineFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(93, 104, 254, 0.05)&#39;</code></li></ul><p>清扫区域轮廓填充颜色</p><h4 id="controls-cleanzone-showrotatebutton" tabindex="-1">controls.cleanZone.showRotateButton <a class="header-anchor" href="#controls-cleanzone-showrotatebutton" aria-label="Permalink to &quot;controls.cleanZone.showRotateButton&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>是否显示旋转按钮</p><h4 id="controls-cleanzone-textcolor" tabindex="-1">controls.cleanZone.textColor <a class="header-anchor" href="#controls-cleanzone-textcolor" aria-label="Permalink to &quot;controls.cleanZone.textColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#5d68fe&#39;</code></li></ul><p>清扫区域文本颜色</p><h4 id="controls-cleanzone-textposition" tabindex="-1">controls.cleanZone.textPosition <a class="header-anchor" href="#controls-cleanzone-textposition" aria-label="Permalink to &quot;controls.cleanZone.textPosition&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>&#39;top&#39; | &#39;right&#39; | &#39;bottom&#39; | &#39;left&#39;</code></li><li><strong>默认值</strong>: <code>&#39;bottom&#39;</code></li></ul><p>清扫区域文本位置</p><h4 id="controls-cleanzone-textoffset" tabindex="-1">controls.cleanZone.textOffset <a class="header-anchor" href="#controls-cleanzone-textoffset" aria-label="Permalink to &quot;controls.cleanZone.textOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>清扫区域文本偏移</p><h4 id="controls-cleanzone-editing" tabindex="-1">controls.cleanZone.editing <a class="header-anchor" href="#controls-cleanzone-editing" aria-label="Permalink to &quot;controls.cleanZone.editing&quot;">​</a></h4><p>区域框编辑模式样式配置。</p><h5 id="controls-cleanzone-editing-isdashed" tabindex="-1">controls.cleanZone.editing.isDashed <a class="header-anchor" href="#controls-cleanzone-editing-isdashed" aria-label="Permalink to &quot;controls.cleanZone.editing.isDashed&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>编辑模式下清扫区域框是否显示为虚线</p><h5 id="controls-cleanzone-editing-dasharray" tabindex="-1">controls.cleanZone.editing.dashArray <a class="header-anchor" href="#controls-cleanzone-editing-dasharray" aria-label="Permalink to &quot;controls.cleanZone.editing.dashArray&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[0, 0]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑模式下清扫区域框虚线样式</p><h4 id="controls-cleanzone-normal" tabindex="-1">controls.cleanZone.normal <a class="header-anchor" href="#controls-cleanzone-normal" aria-label="Permalink to &quot;controls.cleanZone.normal&quot;">​</a></h4><p>区域框普通模式样式配置。</p><h5 id="controls-cleanzone-normal-isdashed" tabindex="-1">controls.cleanZone.normal.isDashed <a class="header-anchor" href="#controls-cleanzone-normal-isdashed" aria-label="Permalink to &quot;controls.cleanZone.normal.isDashed&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>普通模式下清扫区域框是否显示为虚线</p><h5 id="controls-cleanzone-normal-dasharray" tabindex="-1">controls.cleanZone.normal.dashArray <a class="header-anchor" href="#controls-cleanzone-normal-dasharray" aria-label="Permalink to &quot;controls.cleanZone.normal.dashArray&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[0, 0]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>普通模式下清扫区域框虚线样式</p><h3 id="controls-virtualwall" tabindex="-1">controls.virtualWall <a class="header-anchor" href="#controls-virtualwall" aria-label="Permalink to &quot;controls.virtualWall&quot;">​</a></h3><p>虚拟墙配置。</p><h4 id="controls-virtualwall-iconwrapperfillcolor" tabindex="-1">controls.virtualWall.iconWrapperFillColor <a class="header-anchor" href="#controls-virtualwall-iconwrapperfillcolor" aria-label="Permalink to &quot;controls.virtualWall.iconWrapperFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ff4444&#39;</code></li></ul><p>虚拟墙图标容器填充颜色</p><h4 id="controls-virtualwall-linewidth" tabindex="-1">controls.virtualWall.lineWidth <a class="header-anchor" href="#controls-virtualwall-linewidth" aria-label="Permalink to &quot;controls.virtualWall.lineWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>虚拟墙线条宽度</p><h4 id="controls-virtualwall-linecolor" tabindex="-1">controls.virtualWall.lineColor <a class="header-anchor" href="#controls-virtualwall-linecolor" aria-label="Permalink to &quot;controls.virtualWall.lineColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ff4444&#39;</code></li></ul><p>虚拟墙线条颜色</p><h4 id="controls-virtualwall-hitareathickness" tabindex="-1">controls.virtualWall.hitAreaThickness <a class="header-anchor" href="#controls-virtualwall-hitareathickness" aria-label="Permalink to &quot;controls.virtualWall.hitAreaThickness&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>30</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>虚拟墙热区厚度</p><h4 id="controls-virtualwall-outlineoffset" tabindex="-1">controls.virtualWall.outlineOffset <a class="header-anchor" href="#controls-virtualwall-outlineoffset" aria-label="Permalink to &quot;controls.virtualWall.outlineOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>虚拟墙轮廓偏移</p><h4 id="controls-virtualwall-outlinestrokecolor" tabindex="-1">controls.virtualWall.outlineStrokeColor <a class="header-anchor" href="#controls-virtualwall-outlinestrokecolor" aria-label="Permalink to &quot;controls.virtualWall.outlineStrokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ff4444&#39;</code></li></ul><p>虚拟墙轮廓描边颜色</p><h4 id="controls-virtualwall-outlinestrokewidth" tabindex="-1">controls.virtualWall.outlineStrokeWidth <a class="header-anchor" href="#controls-virtualwall-outlinestrokewidth" aria-label="Permalink to &quot;controls.virtualWall.outlineStrokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>虚拟墙轮廓描边宽度</p><h4 id="controls-virtualwall-outlinedashed" tabindex="-1">controls.virtualWall.outlineDashed <a class="header-anchor" href="#controls-virtualwall-outlinedashed" aria-label="Permalink to &quot;controls.virtualWall.outlineDashed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>虚拟墙轮廓是否为虚线</p><h4 id="controls-virtualwall-outlinedasharray" tabindex="-1">controls.virtualWall.outlineDashArray <a class="header-anchor" href="#controls-virtualwall-outlinedasharray" aria-label="Permalink to &quot;controls.virtualWall.outlineDashArray&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[4, 3]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>虚拟墙轮廓虚线样式</p><h4 id="controls-virtualwall-outlinefillcolor" tabindex="-1">controls.virtualWall.outlineFillColor <a class="header-anchor" href="#controls-virtualwall-outlinefillcolor" aria-label="Permalink to &quot;controls.virtualWall.outlineFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(255, 68, 68, 0.05)&#39;</code></li></ul><p>虚拟墙轮廓填充颜色</p><h4 id="controls-virtualwall-minwidth" tabindex="-1">controls.virtualWall.minWidth <a class="header-anchor" href="#controls-virtualwall-minwidth" aria-label="Permalink to &quot;controls.virtualWall.minWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>虚拟墙最小宽度</p><h4 id="controls-virtualwall-maxwidth" tabindex="-1">controls.virtualWall.maxWidth <a class="header-anchor" href="#controls-virtualwall-maxwidth" aria-label="Permalink to &quot;controls.virtualWall.maxWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number | undefined</code></li><li><strong>默认值</strong>: <code>undefined</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>虚拟墙最大宽度(可选)。缺省、NaN、非正数或 ≤ minWidth 时视为不限制,并会在控制台输出一次警告。</p><h4 id="controls-virtualwall-textcolor" tabindex="-1">controls.virtualWall.textColor <a class="header-anchor" href="#controls-virtualwall-textcolor" aria-label="Permalink to &quot;controls.virtualWall.textColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ff4444&#39;</code></li></ul><p>虚拟墙文本颜色</p><h4 id="controls-virtualwall-textoffset" tabindex="-1">controls.virtualWall.textOffset <a class="header-anchor" href="#controls-virtualwall-textoffset" aria-label="Permalink to &quot;controls.virtualWall.textOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>虚拟墙文本偏移</p><h4 id="controls-virtualwall-editing" tabindex="-1">controls.virtualWall.editing <a class="header-anchor" href="#controls-virtualwall-editing" aria-label="Permalink to &quot;controls.virtualWall.editing&quot;">​</a></h4><p>虚拟墙编辑模式样式配置。</p><h5 id="controls-virtualwall-editing-isdashed" tabindex="-1">controls.virtualWall.editing.isDashed <a class="header-anchor" href="#controls-virtualwall-editing-isdashed" aria-label="Permalink to &quot;controls.virtualWall.editing.isDashed&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>编辑模式下是否使用虚线。</p><h5 id="controls-virtualwall-editing-dasharray" tabindex="-1">controls.virtualWall.editing.dashArray <a class="header-anchor" href="#controls-virtualwall-editing-dasharray" aria-label="Permalink to &quot;controls.virtualWall.editing.dashArray&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[0, 0]</code></li></ul><p>编辑模式虚线样式。</p><h4 id="controls-virtualwall-normal" tabindex="-1">controls.virtualWall.normal <a class="header-anchor" href="#controls-virtualwall-normal" aria-label="Permalink to &quot;controls.virtualWall.normal&quot;">​</a></h4><p>虚拟墙普通模式样式配置。</p><h5 id="controls-virtualwall-normal-isdashed" tabindex="-1">controls.virtualWall.normal.isDashed <a class="header-anchor" href="#controls-virtualwall-normal-isdashed" aria-label="Permalink to &quot;controls.virtualWall.normal.isDashed&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>普通模式下是否使用虚线。</p><h5 id="controls-virtualwall-normal-dasharray" tabindex="-1">controls.virtualWall.normal.dashArray <a class="header-anchor" href="#controls-virtualwall-normal-dasharray" aria-label="Permalink to &quot;controls.virtualWall.normal.dashArray&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[0, 0]</code></li></ul><p>普通模式虚线样式。</p><h3 id="controls-threshold" tabindex="-1">controls.threshold <a class="header-anchor" href="#controls-threshold" aria-label="Permalink to &quot;controls.threshold&quot;">​</a></h3><p>门槛配置。门槛是四角坐标描述的斜纹矩形条带;条带为真实世界尺寸(随地图缩放),描边 / 圆角 / 热区边距为屏幕像素(不随缩放),<strong>斜纹线宽与间距是条带厚度的比例</strong>。编辑面复用四边形家族的编辑控件(四角按钮:删除 / 旋转 / 缩放 / 移动)。</p><p>默认观感为「危险胶带」:白色底 + 粗斜纹,可通行蓝白、不可通行红白,斜纹方向 <code>/</code>。整套纹路跟着条带一起缩放,所以<strong>条纹根数、疏密、着色比例在任何地图缩放、任何条带厚度下都一样</strong>——0.15m 与 0.4m 的门槛、放大与缩小,看起来都是同一张贴纸。</p><div class="warning custom-block"><p class="custom-block-title">0.0.x 破坏性变更</p><p><code>stripeWidth</code> / <code>stripeGap</code> 的单位从屏幕像素改成了条带厚度的比例。旧值(例如 <code>stripeWidth: 3</code>)现在表示「3 倍条带厚度」,会画成一整片实色。升级时请按新语义重填,或直接删掉这两项用默认值。</p></div><h4 id="controls-threshold-stripewidth" tabindex="-1">controls.threshold.stripeWidth <a class="header-anchor" href="#controls-threshold-stripewidth" aria-label="Permalink to &quot;controls.threshold.stripeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0.3</code></li><li><strong>单位</strong>: 条带厚度的比例(<strong>不是像素</strong>)</li></ul><p>斜纹线宽,垂直于斜纹方向度量。<code>0.3</code> 表示线宽为条带厚度的 30%——0.4m 的门槛画 0.12m 宽的斜纹,0.15m 的门槛画 0.045m,观感一致。</p><h4 id="controls-threshold-stripegap" tabindex="-1">controls.threshold.stripeGap <a class="header-anchor" href="#controls-threshold-stripegap" aria-label="Permalink to &quot;controls.threshold.stripeGap&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0.4</code></li><li><strong>单位</strong>: 条带厚度的比例(<strong>不是像素</strong>)</li></ul><p>相邻斜纹间距,沿条带长度方向度量。步距 <code>stripeWidth + stripeGap</code>(默认 <code>0.7</code>)决定疏密:任一竖切面上约有 <code>1 / 0.7 ≈ 1.4</code> 根斜纹穿过条带。</p><div class="tip custom-block"><p class="custom-block-title">两者不同轴</p><p><code>stripeWidth</code> 是垂直于斜纹的线宽,同一根斜纹沿条带长度方向占 <code>stripeWidth / sin(stripeAngle)</code>(45° 时是 <code>× √2</code>)。所以着色比例约为 <code>stripeWidth / sin(stripeAngle) / (stripeWidth + stripeGap)</code>,默认值(0.3 / 0.4 / 55°)下约 <strong>55%</strong>。想整体调疏密就一起放大两个值(保持比值不变),想调色块占比就只动 <code>stripeWidth</code>。</p></div><h4 id="controls-threshold-stripedirection" tabindex="-1">controls.threshold.stripeDirection <a class="header-anchor" href="#controls-threshold-stripedirection" aria-label="Permalink to &quot;controls.threshold.stripeDirection&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>&#39;forward&#39; | &#39;backward&#39;</code></li><li><strong>默认值</strong>: <code>&#39;forward&#39;</code></li></ul><p>斜纹倾斜方向。<code>&#39;forward&#39;</code> 为 <code>/</code>(沿条带长度方向向右上),<code>&#39;backward&#39;</code> 为 <code>\\</code>(向右下)。厂商惯例不一,两种都支持。</p><h4 id="controls-threshold-stripeangle" tabindex="-1">controls.threshold.stripeAngle <a class="header-anchor" href="#controls-threshold-stripeangle" aria-label="Permalink to &quot;controls.threshold.stripeAngle&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>55</code></li><li><strong>单位</strong>: 度(与条带长度方向的夹角),钳制在 <code>[10, 90]</code></li></ul><p>默认 <code>55</code>,比常见的危险胶带角度(45°)更立一些。<code>90</code> 为垂直于条带的竖条纹;超出范围或非数值会回落到区间内 / 默认值。</p><div class="warning custom-block"><p class="custom-block-title">改角度会连带改变着色</p><p>斜纹越陡,横穿条带需要的水平距离越短(<code>厚度 / tan(角度)</code>),而且一根斜纹沿长度方向只占 <code>stripeWidth / sin(角度)</code>(45° 时是 <code>× √2</code>,90° 时是 <code>× 1</code>)。所以<strong>只调陡角度会让条带变淡</strong>——默认的 55° + <code>stripeWidth</code> 0.3 着色约 55%,同样参数在 45° 下是 61%。</p><p>想在别的角度上维持约 61% 着色(默认步距 0.7),<code>stripeWidth</code> 要按 <code>sin(角度)</code> 同步放大:</p><table tabindex="0"><thead><tr><th><code>stripeAngle</code></th><th>维持 61% 着色的 <code>stripeWidth</code></th></tr></thead><tbody><tr><td>45</td><td>0.30</td></tr><tr><td>55</td><td>0.35</td></tr><tr><td>65</td><td>0.39</td></tr><tr><td>75</td><td>0.41</td></tr><tr><td>90</td><td>0.43</td></tr></tbody></table></div><h4 id="controls-threshold-borderwidth" tabindex="-1">controls.threshold.borderWidth <a class="header-anchor" href="#controls-threshold-borderwidth" aria-label="Permalink to &quot;controls.threshold.borderWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>条带边框线宽(屏幕像素)。颜色与斜纹同为 <code>passable.color</code> / <code>impassable.color</code>。</p><h4 id="controls-threshold-cornerradius" tabindex="-1">controls.threshold.cornerRadius <a class="header-anchor" href="#controls-threshold-cornerradius" aria-label="Permalink to &quot;controls.threshold.cornerRadius&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>条带圆角半径(屏幕像素)。自动不超过条带半厚 / 半长。</p><h4 id="controls-threshold-passable" tabindex="-1">controls.threshold.passable <a class="header-anchor" href="#controls-threshold-passable" aria-label="Permalink to &quot;controls.threshold.passable&quot;">​</a></h4><p>可通行门槛样式(默认蓝白斜纹)。</p><h5 id="controls-threshold-passable-color" tabindex="-1">controls.threshold.passable.color <a class="header-anchor" href="#controls-threshold-passable-color" aria-label="Permalink to &quot;controls.threshold.passable.color&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#2f54eb&#39;</code></li></ul><p>条纹与描边颜色。</p><h5 id="controls-threshold-passable-fillcolor" tabindex="-1">controls.threshold.passable.fillColor <a class="header-anchor" href="#controls-threshold-passable-fillcolor" aria-label="Permalink to &quot;controls.threshold.passable.fillColor&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ffffff&#39;</code></li></ul><p>条带底色。默认为不透明白色(斜纹之间的留白);想让地图透出来就改成半透明色。</p><h4 id="controls-threshold-impassable" tabindex="-1">controls.threshold.impassable <a class="header-anchor" href="#controls-threshold-impassable" aria-label="Permalink to &quot;controls.threshold.impassable&quot;">​</a></h4><p>不可通行门槛样式(默认红白斜纹)。</p><h5 id="controls-threshold-impassable-color" tabindex="-1">controls.threshold.impassable.color <a class="header-anchor" href="#controls-threshold-impassable-color" aria-label="Permalink to &quot;controls.threshold.impassable.color&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ff4d4f&#39;</code></li></ul><p>条纹与描边颜色。</p><h5 id="controls-threshold-impassable-fillcolor" tabindex="-1">controls.threshold.impassable.fillColor <a class="header-anchor" href="#controls-threshold-impassable-fillcolor" aria-label="Permalink to &quot;controls.threshold.impassable.fillColor&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ffffff&#39;</code></li></ul><p>条带底色。</p><h4 id="controls-threshold-minlength" tabindex="-1">controls.threshold.minLength <a class="header-anchor" href="#controls-threshold-minlength" aria-label="Permalink to &quot;controls.threshold.minLength&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0.4</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>最小长度。绘制与缩放时长边(顶点 0→1)被钳制到不小于该值。</p><h4 id="controls-threshold-maxlength" tabindex="-1">controls.threshold.maxLength <a class="header-anchor" href="#controls-threshold-maxlength" aria-label="Permalink to &quot;controls.threshold.maxLength&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number | undefined</code></li><li><strong>默认值</strong>: <code>3</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>最大长度(可选)。缺省或 ≤ minLength 时不限制。</p><h4 id="controls-threshold-minheight" tabindex="-1">controls.threshold.minHeight <a class="header-anchor" href="#controls-threshold-minheight" aria-label="Permalink to &quot;controls.threshold.minHeight&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0.1</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>最小厚度。绘制与缩放时厚度边(顶点 0→3)被钳制到不小于该值。</p><h4 id="controls-threshold-maxheight" tabindex="-1">controls.threshold.maxHeight <a class="header-anchor" href="#controls-threshold-maxheight" aria-label="Permalink to &quot;controls.threshold.maxHeight&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number | undefined</code></li><li><strong>默认值</strong>: <code>0.4</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>最大厚度(可选)。缺省或 ≤ minHeight 时不限制。</p><div class="warning custom-block"><p class="custom-block-title">配置变更</p><p>0.0.18 起门槛数据改为四角坐标,厚度总能从数据反解出来,<code>controls.threshold.defaultHeight</code> 因此被移除。</p></div><h4 id="controls-threshold-iconwrapperfillcolor" tabindex="-1">controls.threshold.iconWrapperFillColor <a class="header-anchor" href="#controls-threshold-iconwrapperfillcolor" aria-label="Permalink to &quot;controls.threshold.iconWrapperFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ff4444&#39;</code></li></ul><p>四角控制按钮图标容器填充颜色(编辑态显示)。</p><h4 id="controls-threshold-hitareapadding" tabindex="-1">controls.threshold.hitAreaPadding <a class="header-anchor" href="#controls-threshold-hitareapadding" aria-label="Permalink to &quot;controls.threshold.hitAreaPadding&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>12</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>点击热区在条带每一侧向外扩展的可抓边距(屏幕像素)。热区厚度 = 条带高度 + 2 × 该值,因此条带无论多厚都保有固定的可抓边距,细条带也不会难以点中。</p><h4 id="controls-threshold-outlineoffset" tabindex="-1">controls.threshold.outlineOffset <a class="header-anchor" href="#controls-threshold-outlineoffset" aria-label="Permalink to &quot;controls.threshold.outlineOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑态轮廓相对条带边缘的偏移。</p><h4 id="controls-threshold-outlinestrokecolor" tabindex="-1">controls.threshold.outlineStrokeColor <a class="header-anchor" href="#controls-threshold-outlinestrokecolor" aria-label="Permalink to &quot;controls.threshold.outlineStrokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#666666&#39;</code></li></ul><p>编辑态轮廓描边颜色。</p><h4 id="controls-threshold-outlinestrokewidth" tabindex="-1">controls.threshold.outlineStrokeWidth <a class="header-anchor" href="#controls-threshold-outlinestrokewidth" aria-label="Permalink to &quot;controls.threshold.outlineStrokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑态轮廓描边宽度。</p><h4 id="controls-threshold-outlinedashed" tabindex="-1">controls.threshold.outlineDashed <a class="header-anchor" href="#controls-threshold-outlinedashed" aria-label="Permalink to &quot;controls.threshold.outlineDashed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>编辑态轮廓是否为虚线。</p><h4 id="controls-threshold-outlinedasharray" tabindex="-1">controls.threshold.outlineDashArray <a class="header-anchor" href="#controls-threshold-outlinedasharray" aria-label="Permalink to &quot;controls.threshold.outlineDashArray&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[4, 3]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑态轮廓虚线样式。</p><h4 id="controls-threshold-outlinefillcolor" tabindex="-1">controls.threshold.outlineFillColor <a class="header-anchor" href="#controls-threshold-outlinefillcolor" aria-label="Permalink to &quot;controls.threshold.outlineFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(102, 102, 102, 0.05)&#39;</code></li></ul><p>编辑态轮廓填充颜色。</p><h4 id="controls-threshold-textcolor" tabindex="-1">controls.threshold.textColor <a class="header-anchor" href="#controls-threshold-textcolor" aria-label="Permalink to &quot;controls.threshold.textColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#666666&#39;</code></li></ul><p>尺寸标签(长×厚)文本颜色(编辑态显示)。</p><h4 id="controls-threshold-textoffset" tabindex="-1">controls.threshold.textOffset <a class="header-anchor" href="#controls-threshold-textoffset" aria-label="Permalink to &quot;controls.threshold.textOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>尺寸标签相对轮廓边缘向外的偏移。</p><h3 id="controls-spot" tabindex="-1">controls.spot <a class="header-anchor" href="#controls-spot" aria-label="Permalink to &quot;controls.spot&quot;">​</a></h3><p>定点清扫配置。</p><h4 id="controls-spot-iconsrc" tabindex="-1">controls.spot.iconSrc <a class="header-anchor" href="#controls-spot-iconsrc" aria-label="Permalink to &quot;controls.spot.iconSrc&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>定点清扫图标资源路径</p><h4 id="controls-spot-iconsize" tabindex="-1">controls.spot.iconSize <a class="header-anchor" href="#controls-spot-iconsize" aria-label="Permalink to &quot;controls.spot.iconSize&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>定点清扫图标大小</p><h4 id="controls-spot-iconsizefixed" tabindex="-1">controls.spot.iconSizeFixed <a class="header-anchor" href="#controls-spot-iconsizefixed" aria-label="Permalink to &quot;controls.spot.iconSizeFixed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>定点清扫图标尺寸是否固定(不跟随地图缩放)</p><h4 id="controls-spot-iconanchor" tabindex="-1">controls.spot.iconAnchor <a class="header-anchor" href="#controls-spot-iconanchor" aria-label="Permalink to &quot;controls.spot.iconAnchor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>Point</code></li><li><strong>默认值</strong>: <code>{ x: 0.5, y: 0.5 }</code></li></ul><p>定点清扫中心图标的锚点位置,用于控制图标相对于坐标点的对齐方式。</p><p>锚点坐标系说明:</p><ul><li><code>{x: 0, y: 0}</code> 表示左上角</li><li><code>{x: 0.5, y: 0.5}</code> 表示中心点(默认)</li><li><code>{x: 0.5, y: 1}</code> 表示底部中心(适用于气泡/水滴形状的图标)</li><li><code>{x: 1, y: 1}</code> 表示右下角</li></ul><p><strong>注意</strong>: 图标锚点只影响中心图标本身,外框(填充/边框)与文本标签仍以坐标点为基准布局。所有 Spot 统一使用此配置中的锚点值。</p><p><strong>示例</strong>:</p><div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> mapInstance</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> MapApplication</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
210
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">})</span></span></code></pre></div><h3 id="controls-forbiddensweepzone" tabindex="-1">controls.forbiddenSweepZone <a class="header-anchor" href="#controls-forbiddensweepzone" aria-label="Permalink to &quot;controls.forbiddenSweepZone&quot;">​</a></h3><p>禁扫区域配置。</p><h4 id="controls-forbiddensweepzone-minsize" tabindex="-1">controls.forbiddenSweepZone.minSize <a class="header-anchor" href="#controls-forbiddensweepzone-minsize" aria-label="Permalink to &quot;controls.forbiddenSweepZone.minSize&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>禁扫区域最小尺寸</p><h4 id="controls-forbiddensweepzone-maxsize" tabindex="-1">controls.forbiddenSweepZone.maxSize <a class="header-anchor" href="#controls-forbiddensweepzone-maxsize" aria-label="Permalink to &quot;controls.forbiddenSweepZone.maxSize&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number | undefined</code></li><li><strong>默认值</strong>: <code>undefined</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>禁扫区域最大尺寸(可选)。缺省、NaN、非正数或 ≤ minSize 时视为不限制,并会在控制台输出一次警告。</p><h4 id="controls-forbiddensweepzone-iconwrapperfillcolor" tabindex="-1">controls.forbiddenSweepZone.iconWrapperFillColor <a class="header-anchor" href="#controls-forbiddensweepzone-iconwrapperfillcolor" aria-label="Permalink to &quot;controls.forbiddenSweepZone.iconWrapperFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ff4444&#39;</code></li></ul><p>图标容器填充颜色</p><h4 id="controls-forbiddensweepzone-strokecolor" tabindex="-1">controls.forbiddenSweepZone.strokeColor <a class="header-anchor" href="#controls-forbiddensweepzone-strokecolor" aria-label="Permalink to &quot;controls.forbiddenSweepZone.strokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ff4444&#39;</code></li></ul><p>禁扫区域描边颜色</p><h4 id="controls-forbiddensweepzone-strokewidth" tabindex="-1">controls.forbiddenSweepZone.strokeWidth <a class="header-anchor" href="#controls-forbiddensweepzone-strokewidth" aria-label="Permalink to &quot;controls.forbiddenSweepZone.strokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>禁扫区域描边宽度</p><h4 id="controls-forbiddensweepzone-fillcolor" tabindex="-1">controls.forbiddenSweepZone.fillColor <a class="header-anchor" href="#controls-forbiddensweepzone-fillcolor" aria-label="Permalink to &quot;controls.forbiddenSweepZone.fillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(255, 68, 68, 0.1)&#39;</code></li></ul><p>禁扫区域填充颜色</p><h4 id="controls-forbiddensweepzone-outlineoffset" tabindex="-1">controls.forbiddenSweepZone.outlineOffset <a class="header-anchor" href="#controls-forbiddensweepzone-outlineoffset" aria-label="Permalink to &quot;controls.forbiddenSweepZone.outlineOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>禁扫区域编辑轮廓偏移</p><h4 id="controls-forbiddensweepzone-outlinestrokecolor" tabindex="-1">controls.forbiddenSweepZone.outlineStrokeColor <a class="header-anchor" href="#controls-forbiddensweepzone-outlinestrokecolor" aria-label="Permalink to &quot;controls.forbiddenSweepZone.outlineStrokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ff4444&#39;</code></li></ul><p>禁扫区域编辑轮廓描边颜色</p><h4 id="controls-forbiddensweepzone-outlinestrokewidth" tabindex="-1">controls.forbiddenSweepZone.outlineStrokeWidth <a class="header-anchor" href="#controls-forbiddensweepzone-outlinestrokewidth" aria-label="Permalink to &quot;controls.forbiddenSweepZone.outlineStrokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>禁扫区域编辑轮廓描边宽度</p><h4 id="controls-forbiddensweepzone-outlinedashed" tabindex="-1">controls.forbiddenSweepZone.outlineDashed <a class="header-anchor" href="#controls-forbiddensweepzone-outlinedashed" aria-label="Permalink to &quot;controls.forbiddenSweepZone.outlineDashed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>禁扫区域编辑轮廓是否为虚线</p><h4 id="controls-forbiddensweepzone-outlinedasharray" tabindex="-1">controls.forbiddenSweepZone.outlineDashArray <a class="header-anchor" href="#controls-forbiddensweepzone-outlinedasharray" aria-label="Permalink to &quot;controls.forbiddenSweepZone.outlineDashArray&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[4, 3]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>禁扫区域编辑轮廓虚线样式</p><h4 id="controls-forbiddensweepzone-outlinefillcolor" tabindex="-1">controls.forbiddenSweepZone.outlineFillColor <a class="header-anchor" href="#controls-forbiddensweepzone-outlinefillcolor" aria-label="Permalink to &quot;controls.forbiddenSweepZone.outlineFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(255, 68, 68, 0.05)&#39;</code></li></ul><p>禁扫区域编辑轮廓填充颜色</p><h4 id="controls-forbiddensweepzone-showrotatebutton" tabindex="-1">controls.forbiddenSweepZone.showRotateButton <a class="header-anchor" href="#controls-forbiddensweepzone-showrotatebutton" aria-label="Permalink to &quot;controls.forbiddenSweepZone.showRotateButton&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>是否显示旋转按钮</p><h4 id="controls-forbiddensweepzone-textcolor" tabindex="-1">controls.forbiddenSweepZone.textColor <a class="header-anchor" href="#controls-forbiddensweepzone-textcolor" aria-label="Permalink to &quot;controls.forbiddenSweepZone.textColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ff4444&#39;</code></li></ul><p>禁扫区域尺寸标签文本颜色</p><h4 id="controls-forbiddensweepzone-textposition" tabindex="-1">controls.forbiddenSweepZone.textPosition <a class="header-anchor" href="#controls-forbiddensweepzone-textposition" aria-label="Permalink to &quot;controls.forbiddenSweepZone.textPosition&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>&#39;top&#39; | &#39;right&#39; | &#39;bottom&#39; | &#39;left&#39;</code></li><li><strong>默认值</strong>: <code>&#39;bottom&#39;</code></li></ul><p>禁扫区域尺寸标签文本位置</p><h4 id="controls-forbiddensweepzone-textoffset" tabindex="-1">controls.forbiddenSweepZone.textOffset <a class="header-anchor" href="#controls-forbiddensweepzone-textoffset" aria-label="Permalink to &quot;controls.forbiddenSweepZone.textOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>禁扫区域尺寸标签文本偏移</p><h4 id="controls-forbiddensweepzone-editing" tabindex="-1">controls.forbiddenSweepZone.editing <a class="header-anchor" href="#controls-forbiddensweepzone-editing" aria-label="Permalink to &quot;controls.forbiddenSweepZone.editing&quot;">​</a></h4><p>区域框编辑模式样式配置。</p><h5 id="controls-forbiddensweepzone-editing-isdashed" tabindex="-1">controls.forbiddenSweepZone.editing.isDashed <a class="header-anchor" href="#controls-forbiddensweepzone-editing-isdashed" aria-label="Permalink to &quot;controls.forbiddenSweepZone.editing.isDashed&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>编辑模式下禁扫区域框是否显示为虚线</p><h5 id="controls-forbiddensweepzone-editing-dasharray" tabindex="-1">controls.forbiddenSweepZone.editing.dashArray <a class="header-anchor" href="#controls-forbiddensweepzone-editing-dasharray" aria-label="Permalink to &quot;controls.forbiddenSweepZone.editing.dashArray&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[0, 0]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑模式下禁扫区域框虚线样式</p><h4 id="controls-forbiddensweepzone-normal" tabindex="-1">controls.forbiddenSweepZone.normal <a class="header-anchor" href="#controls-forbiddensweepzone-normal" aria-label="Permalink to &quot;controls.forbiddenSweepZone.normal&quot;">​</a></h4><p>区域框普通模式样式配置。</p><h5 id="controls-forbiddensweepzone-normal-isdashed" tabindex="-1">controls.forbiddenSweepZone.normal.isDashed <a class="header-anchor" href="#controls-forbiddensweepzone-normal-isdashed" aria-label="Permalink to &quot;controls.forbiddenSweepZone.normal.isDashed&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>普通模式下禁扫区域框是否显示为虚线</p><h5 id="controls-forbiddensweepzone-normal-dasharray" tabindex="-1">controls.forbiddenSweepZone.normal.dashArray <a class="header-anchor" href="#controls-forbiddensweepzone-normal-dasharray" aria-label="Permalink to &quot;controls.forbiddenSweepZone.normal.dashArray&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[0, 0]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>普通模式下禁扫区域框虚线样式</p><h3 id="controls-forbiddenmopzone" tabindex="-1">controls.forbiddenMopZone <a class="header-anchor" href="#controls-forbiddenmopzone" aria-label="Permalink to &quot;controls.forbiddenMopZone&quot;">​</a></h3><p>禁拖区域配置。</p><h4 id="controls-forbiddenmopzone-minsize" tabindex="-1">controls.forbiddenMopZone.minSize <a class="header-anchor" href="#controls-forbiddenmopzone-minsize" aria-label="Permalink to &quot;controls.forbiddenMopZone.minSize&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>禁拖区域最小尺寸</p><h4 id="controls-forbiddenmopzone-maxsize" tabindex="-1">controls.forbiddenMopZone.maxSize <a class="header-anchor" href="#controls-forbiddenmopzone-maxsize" aria-label="Permalink to &quot;controls.forbiddenMopZone.maxSize&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number | undefined</code></li><li><strong>默认值</strong>: <code>undefined</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>禁拖区域最大尺寸(可选)。缺省、NaN、非正数或 ≤ minSize 时视为不限制,并会在控制台输出一次警告。</p><h4 id="controls-forbiddenmopzone-iconwrapperfillcolor" tabindex="-1">controls.forbiddenMopZone.iconWrapperFillColor <a class="header-anchor" href="#controls-forbiddenmopzone-iconwrapperfillcolor" aria-label="Permalink to &quot;controls.forbiddenMopZone.iconWrapperFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#fe8a07&#39;</code></li></ul><p>图标容器填充颜色</p><h4 id="controls-forbiddenmopzone-strokecolor" tabindex="-1">controls.forbiddenMopZone.strokeColor <a class="header-anchor" href="#controls-forbiddenmopzone-strokecolor" aria-label="Permalink to &quot;controls.forbiddenMopZone.strokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#fe8a07&#39;</code></li></ul><p>禁拖区域描边颜色</p><h4 id="controls-forbiddenmopzone-strokewidth" tabindex="-1">controls.forbiddenMopZone.strokeWidth <a class="header-anchor" href="#controls-forbiddenmopzone-strokewidth" aria-label="Permalink to &quot;controls.forbiddenMopZone.strokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>禁拖区域描边宽度</p><h4 id="controls-forbiddenmopzone-fillcolor" tabindex="-1">controls.forbiddenMopZone.fillColor <a class="header-anchor" href="#controls-forbiddenmopzone-fillcolor" aria-label="Permalink to &quot;controls.forbiddenMopZone.fillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(254, 138, 7, 0.1)&#39;</code></li></ul><p>禁拖区域填充颜色</p><h4 id="controls-forbiddenmopzone-outlineoffset" tabindex="-1">controls.forbiddenMopZone.outlineOffset <a class="header-anchor" href="#controls-forbiddenmopzone-outlineoffset" aria-label="Permalink to &quot;controls.forbiddenMopZone.outlineOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>禁拖区域轮廓偏移</p><h4 id="controls-forbiddenmopzone-outlinestrokecolor" tabindex="-1">controls.forbiddenMopZone.outlineStrokeColor <a class="header-anchor" href="#controls-forbiddenmopzone-outlinestrokecolor" aria-label="Permalink to &quot;controls.forbiddenMopZone.outlineStrokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#fe8a07&#39;</code></li></ul><p>禁拖区域轮廓描边颜色</p><h4 id="controls-forbiddenmopzone-outlinestrokewidth" tabindex="-1">controls.forbiddenMopZone.outlineStrokeWidth <a class="header-anchor" href="#controls-forbiddenmopzone-outlinestrokewidth" aria-label="Permalink to &quot;controls.forbiddenMopZone.outlineStrokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>禁拖区域轮廓描边宽度</p><h4 id="controls-forbiddenmopzone-outlinedashed" tabindex="-1">controls.forbiddenMopZone.outlineDashed <a class="header-anchor" href="#controls-forbiddenmopzone-outlinedashed" aria-label="Permalink to &quot;controls.forbiddenMopZone.outlineDashed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>禁拖区域轮廓是否为虚线</p><h4 id="controls-forbiddenmopzone-outlinedasharray" tabindex="-1">controls.forbiddenMopZone.outlineDashArray <a class="header-anchor" href="#controls-forbiddenmopzone-outlinedasharray" aria-label="Permalink to &quot;controls.forbiddenMopZone.outlineDashArray&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[4, 3]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>禁拖区域轮廓虚线样式</p><h4 id="controls-forbiddenmopzone-outlinefillcolor" tabindex="-1">controls.forbiddenMopZone.outlineFillColor <a class="header-anchor" href="#controls-forbiddenmopzone-outlinefillcolor" aria-label="Permalink to &quot;controls.forbiddenMopZone.outlineFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(254, 138, 7, 0.05)&#39;</code></li></ul><p>禁拖区域轮廓填充颜色</p><h4 id="controls-forbiddenmopzone-showrotatebutton" tabindex="-1">controls.forbiddenMopZone.showRotateButton <a class="header-anchor" href="#controls-forbiddenmopzone-showrotatebutton" aria-label="Permalink to &quot;controls.forbiddenMopZone.showRotateButton&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>是否显示旋转按钮</p><h4 id="controls-forbiddenmopzone-textcolor" tabindex="-1">controls.forbiddenMopZone.textColor <a class="header-anchor" href="#controls-forbiddenmopzone-textcolor" aria-label="Permalink to &quot;controls.forbiddenMopZone.textColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#fe8a07&#39;</code></li></ul><p>禁拖区域文本颜色</p><h4 id="controls-forbiddenmopzone-textposition" tabindex="-1">controls.forbiddenMopZone.textPosition <a class="header-anchor" href="#controls-forbiddenmopzone-textposition" aria-label="Permalink to &quot;controls.forbiddenMopZone.textPosition&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>&#39;top&#39; | &#39;right&#39; | &#39;bottom&#39; | &#39;left&#39;</code></li><li><strong>默认值</strong>: <code>&#39;bottom&#39;</code></li></ul><p>禁拖区域文本位置</p><h4 id="controls-forbiddenmopzone-textoffset" tabindex="-1">controls.forbiddenMopZone.textOffset <a class="header-anchor" href="#controls-forbiddenmopzone-textoffset" aria-label="Permalink to &quot;controls.forbiddenMopZone.textOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>禁拖区域文本偏移</p><h4 id="controls-forbiddenmopzone-editing" tabindex="-1">controls.forbiddenMopZone.editing <a class="header-anchor" href="#controls-forbiddenmopzone-editing" aria-label="Permalink to &quot;controls.forbiddenMopZone.editing&quot;">​</a></h4><p>区域框编辑模式样式配置。</p><h5 id="controls-forbiddenmopzone-editing-isdashed" tabindex="-1">controls.forbiddenMopZone.editing.isDashed <a class="header-anchor" href="#controls-forbiddenmopzone-editing-isdashed" aria-label="Permalink to &quot;controls.forbiddenMopZone.editing.isDashed&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>编辑模式下禁拖区域框是否显示为虚线</p><h5 id="controls-forbiddenmopzone-editing-dasharray" tabindex="-1">controls.forbiddenMopZone.editing.dashArray <a class="header-anchor" href="#controls-forbiddenmopzone-editing-dasharray" aria-label="Permalink to &quot;controls.forbiddenMopZone.editing.dashArray&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[0, 0]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑模式下禁拖区域框虚线样式</p><h4 id="controls-forbiddenmopzone-normal" tabindex="-1">controls.forbiddenMopZone.normal <a class="header-anchor" href="#controls-forbiddenmopzone-normal" aria-label="Permalink to &quot;controls.forbiddenMopZone.normal&quot;">​</a></h4><p>区域框普通模式样式配置。</p><h5 id="controls-forbiddenmopzone-normal-isdashed" tabindex="-1">controls.forbiddenMopZone.normal.isDashed <a class="header-anchor" href="#controls-forbiddenmopzone-normal-isdashed" aria-label="Permalink to &quot;controls.forbiddenMopZone.normal.isDashed&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>普通模式下禁拖区域框是否显示为虚线</p><h5 id="controls-forbiddenmopzone-normal-dasharray" tabindex="-1">controls.forbiddenMopZone.normal.dashArray <a class="header-anchor" href="#controls-forbiddenmopzone-normal-dasharray" aria-label="Permalink to &quot;controls.forbiddenMopZone.normal.dashArray&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[0, 0]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>普通模式下禁拖区域框虚线样式</p><h3 id="controls-carpet" tabindex="-1">controls.carpet <a class="header-anchor" href="#controls-carpet" aria-label="Permalink to &quot;controls.carpet&quot;">​</a></h3><p>自定义地毯编辑配置。</p><h4 id="controls-carpet-minsize" tabindex="-1">controls.carpet.minSize <a class="header-anchor" href="#controls-carpet-minsize" aria-label="Permalink to &quot;controls.carpet.minSize&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>自定义地毯最小尺寸。</p><h4 id="controls-carpet-maxsize" tabindex="-1">controls.carpet.maxSize <a class="header-anchor" href="#controls-carpet-maxsize" aria-label="Permalink to &quot;controls.carpet.maxSize&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number | undefined</code></li><li><strong>默认值</strong>: <code>undefined</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>地毯最大尺寸(可选)。缺省、NaN、非正数或 ≤ minSize 时视为不限制,并会在控制台输出一次警告。</p><h4 id="controls-carpet-iconwrapperfillcolor" tabindex="-1">controls.carpet.iconWrapperFillColor <a class="header-anchor" href="#controls-carpet-iconwrapperfillcolor" aria-label="Permalink to &quot;controls.carpet.iconWrapperFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#5d68fe&#39;</code></li></ul><p>图标容器填充颜色,会作用于旋转、缩放、移动以及横向/纵向辅助缩放按钮。</p><h4 id="controls-carpet-deleteiconwrapperfillcolor" tabindex="-1">controls.carpet.deleteIconWrapperFillColor <a class="header-anchor" href="#controls-carpet-deleteiconwrapperfillcolor" aria-label="Permalink to &quot;controls.carpet.deleteIconWrapperFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource | undefined</code></li><li><strong>默认值</strong>: <code>&#39;#ff4444&#39;</code></li></ul><p>地毯删除按钮的图标容器填充颜色。未设置时回退到 <code>controls.carpet.iconWrapperFillColor</code>。</p><h4 id="controls-carpet-rotatemode" tabindex="-1">controls.carpet.rotateMode <a class="header-anchor" href="#controls-carpet-rotatemode" aria-label="Permalink to &quot;controls.carpet.rotateMode&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>&#39;step&#39; | &#39;free&#39;</code></li><li><strong>默认值</strong>: <code>&#39;step&#39;</code></li></ul><p>地毯旋转按钮交互模式。<code>step</code> 表示点击后顺时针旋转 90 度,<code>free</code> 表示按住拖动连续旋转。</p><h4 id="controls-carpet-scalemode" tabindex="-1">controls.carpet.scaleMode <a class="header-anchor" href="#controls-carpet-scalemode" aria-label="Permalink to &quot;controls.carpet.scaleMode&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>&#39;free&#39; | &#39;ratioLocked&#39;</code></li><li><strong>默认值</strong>: <code>&#39;ratioLocked&#39;</code></li></ul><p>地毯右下角缩放按钮交互模式。<code>ratioLocked</code> 表示等比缩放,同时显示横向和纵向辅助缩放按钮;<code>free</code> 表示宽高独立缩放,并隐藏辅助缩放按钮。</p><h4 id="controls-carpet-fillcolor" tabindex="-1">controls.carpet.fillColor <a class="header-anchor" href="#controls-carpet-fillcolor" aria-label="Permalink to &quot;controls.carpet.fillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(93, 104, 254, 0.1)&#39;</code></li></ul><p>地毯填充颜色。</p><h4 id="controls-carpet-outlineoffset" tabindex="-1">controls.carpet.outlineOffset <a class="header-anchor" href="#controls-carpet-outlineoffset" aria-label="Permalink to &quot;controls.carpet.outlineOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>30</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑轮廓偏移。</p><h4 id="controls-carpet-outlinestrokecolor" tabindex="-1">controls.carpet.outlineStrokeColor <a class="header-anchor" href="#controls-carpet-outlinestrokecolor" aria-label="Permalink to &quot;controls.carpet.outlineStrokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(0, 0, 0, 0.7)&#39;</code></li></ul><p>编辑轮廓描边颜色。</p><h4 id="controls-carpet-outlinestrokewidth" tabindex="-1">controls.carpet.outlineStrokeWidth <a class="header-anchor" href="#controls-carpet-outlinestrokewidth" aria-label="Permalink to &quot;controls.carpet.outlineStrokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑轮廓描边宽度。</p><h4 id="controls-carpet-outlinedashed" tabindex="-1">controls.carpet.outlineDashed <a class="header-anchor" href="#controls-carpet-outlinedashed" aria-label="Permalink to &quot;controls.carpet.outlineDashed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>编辑轮廓是否虚线。</p><h4 id="controls-carpet-outlinedasharray" tabindex="-1">controls.carpet.outlineDashArray <a class="header-anchor" href="#controls-carpet-outlinedasharray" aria-label="Permalink to &quot;controls.carpet.outlineDashArray&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[4, 3]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑轮廓虚线样式。</p><h4 id="controls-carpet-outlinefillcolor" tabindex="-1">controls.carpet.outlineFillColor <a class="header-anchor" href="#controls-carpet-outlinefillcolor" aria-label="Permalink to &quot;controls.carpet.outlineFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(93, 104, 254, 0.05)&#39;</code></li></ul><p>编辑轮廓填充颜色。</p><h4 id="controls-carpet-showrotatebutton" tabindex="-1">controls.carpet.showRotateButton <a class="header-anchor" href="#controls-carpet-showrotatebutton" aria-label="Permalink to &quot;controls.carpet.showRotateButton&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>是否显示旋转按钮。</p><h4 id="controls-carpet-textcolor" tabindex="-1">controls.carpet.textColor <a class="header-anchor" href="#controls-carpet-textcolor" aria-label="Permalink to &quot;controls.carpet.textColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#5d68fe&#39;</code></li></ul><p>尺寸文本颜色。</p><h4 id="controls-carpet-textposition" tabindex="-1">controls.carpet.textPosition <a class="header-anchor" href="#controls-carpet-textposition" aria-label="Permalink to &quot;controls.carpet.textPosition&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>&#39;top&#39; | &#39;right&#39; | &#39;bottom&#39; | &#39;left&#39;</code></li><li><strong>默认值</strong>: <code>&#39;bottom&#39;</code></li></ul><p>尺寸文本位置。</p><h4 id="controls-carpet-textoffset" tabindex="-1">controls.carpet.textOffset <a class="header-anchor" href="#controls-carpet-textoffset" aria-label="Permalink to &quot;controls.carpet.textOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>20</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>尺寸文本偏移。</p><h4 id="controls-carpet-editing" tabindex="-1">controls.carpet.editing <a class="header-anchor" href="#controls-carpet-editing" aria-label="Permalink to &quot;controls.carpet.editing&quot;">​</a></h4><h5 id="controls-carpet-editing-isdashed" tabindex="-1">controls.carpet.editing.isDashed <a class="header-anchor" href="#controls-carpet-editing-isdashed" aria-label="Permalink to &quot;controls.carpet.editing.isDashed&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>编辑模式是否虚线。</p><h5 id="controls-carpet-editing-dasharray" tabindex="-1">controls.carpet.editing.dashArray <a class="header-anchor" href="#controls-carpet-editing-dasharray" aria-label="Permalink to &quot;controls.carpet.editing.dashArray&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[4, 3]</code></li></ul><p>编辑模式虚线样式。</p><h4 id="controls-carpet-normal" tabindex="-1">controls.carpet.normal <a class="header-anchor" href="#controls-carpet-normal" aria-label="Permalink to &quot;controls.carpet.normal&quot;">​</a></h4><h5 id="controls-carpet-normal-isdashed" tabindex="-1">controls.carpet.normal.isDashed <a class="header-anchor" href="#controls-carpet-normal-isdashed" aria-label="Permalink to &quot;controls.carpet.normal.isDashed&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>普通模式是否虚线。</p><h5 id="controls-carpet-normal-dasharray" tabindex="-1">controls.carpet.normal.dashArray <a class="header-anchor" href="#controls-carpet-normal-dasharray" aria-label="Permalink to &quot;controls.carpet.normal.dashArray&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[0, 0]</code></li></ul><p>普通模式虚线样式。</p><h3 id="cleanzone" tabindex="-1">cleanZone <a class="header-anchor" href="#cleanzone" aria-label="Permalink to &quot;cleanZone&quot;">​</a></h3><p>清扫区域配置。</p><h4 id="controls-cleanzone-minsize" tabindex="-1">controls.cleanZone.minSize <a class="header-anchor" href="#controls-cleanzone-minsize" aria-label="Permalink to &quot;controls.cleanZone.minSize&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>清扫区域最小尺寸</p><h4 id="controls-cleanzone-maxsize" tabindex="-1">controls.cleanZone.maxSize <a class="header-anchor" href="#controls-cleanzone-maxsize" aria-label="Permalink to &quot;controls.cleanZone.maxSize&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number | undefined</code></li><li><strong>默认值</strong>: <code>undefined</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>清扫区域最大尺寸(可选)。缺省、NaN、非正数或 ≤ minSize 时视为不限制,并会在控制台输出一次警告。</p><h4 id="controls-cleanzone-iconwrapperfillcolor" tabindex="-1">controls.cleanZone.iconWrapperFillColor <a class="header-anchor" href="#controls-cleanzone-iconwrapperfillcolor" aria-label="Permalink to &quot;controls.cleanZone.iconWrapperFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#5d68fe&#39;</code></li></ul><p>清扫区域图标容器填充颜色</p><h4 id="controls-cleanzone-strokecolor" tabindex="-1">controls.cleanZone.strokeColor <a class="header-anchor" href="#controls-cleanzone-strokecolor" aria-label="Permalink to &quot;controls.cleanZone.strokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#5d68fe&#39;</code></li></ul><p>清扫区域描边颜色</p><h4 id="controls-cleanzone-strokewidth" tabindex="-1">controls.cleanZone.strokeWidth <a class="header-anchor" href="#controls-cleanzone-strokewidth" aria-label="Permalink to &quot;controls.cleanZone.strokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>清扫区域描边宽度</p><h4 id="controls-cleanzone-fillcolor" tabindex="-1">controls.cleanZone.fillColor <a class="header-anchor" href="#controls-cleanzone-fillcolor" aria-label="Permalink to &quot;controls.cleanZone.fillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(93, 104, 254, 0.1)&#39;</code></li></ul><p>清扫区域填充颜色</p><h4 id="controls-cleanzone-outlineoffset" tabindex="-1">controls.cleanZone.outlineOffset <a class="header-anchor" href="#controls-cleanzone-outlineoffset" aria-label="Permalink to &quot;controls.cleanZone.outlineOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>清扫区域轮廓偏移</p><h4 id="controls-cleanzone-outlinestrokecolor" tabindex="-1">controls.cleanZone.outlineStrokeColor <a class="header-anchor" href="#controls-cleanzone-outlinestrokecolor" aria-label="Permalink to &quot;controls.cleanZone.outlineStrokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#5d68fe&#39;</code></li></ul><p>清扫区域轮廓描边颜色</p><h4 id="controls-cleanzone-outlinestrokewidth" tabindex="-1">controls.cleanZone.outlineStrokeWidth <a class="header-anchor" href="#controls-cleanzone-outlinestrokewidth" aria-label="Permalink to &quot;controls.cleanZone.outlineStrokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>清扫区域轮廓描边宽度</p><h4 id="controls-cleanzone-outlinedashed" tabindex="-1">controls.cleanZone.outlineDashed <a class="header-anchor" href="#controls-cleanzone-outlinedashed" aria-label="Permalink to &quot;controls.cleanZone.outlineDashed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>清扫区域轮廓是否为虚线</p><h4 id="controls-cleanzone-outlinedasharray" tabindex="-1">controls.cleanZone.outlineDashArray <a class="header-anchor" href="#controls-cleanzone-outlinedasharray" aria-label="Permalink to &quot;controls.cleanZone.outlineDashArray&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[4, 3]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>清扫区域轮廓虚线样式</p><h4 id="controls-cleanzone-outlinefillcolor" tabindex="-1">controls.cleanZone.outlineFillColor <a class="header-anchor" href="#controls-cleanzone-outlinefillcolor" aria-label="Permalink to &quot;controls.cleanZone.outlineFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(93, 104, 254, 0.05)&#39;</code></li></ul><p>清扫区域轮廓填充颜色</p><h4 id="controls-cleanzone-showrotatebutton" tabindex="-1">controls.cleanZone.showRotateButton <a class="header-anchor" href="#controls-cleanzone-showrotatebutton" aria-label="Permalink to &quot;controls.cleanZone.showRotateButton&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>是否显示旋转按钮</p><h4 id="controls-cleanzone-textcolor" tabindex="-1">controls.cleanZone.textColor <a class="header-anchor" href="#controls-cleanzone-textcolor" aria-label="Permalink to &quot;controls.cleanZone.textColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#5d68fe&#39;</code></li></ul><p>清扫区域文本颜色</p><h4 id="controls-cleanzone-textposition" tabindex="-1">controls.cleanZone.textPosition <a class="header-anchor" href="#controls-cleanzone-textposition" aria-label="Permalink to &quot;controls.cleanZone.textPosition&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>&#39;top&#39; | &#39;right&#39; | &#39;bottom&#39; | &#39;left&#39;</code></li><li><strong>默认值</strong>: <code>&#39;bottom&#39;</code></li></ul><p>清扫区域文本位置</p><h4 id="controls-cleanzone-textoffset" tabindex="-1">controls.cleanZone.textOffset <a class="header-anchor" href="#controls-cleanzone-textoffset" aria-label="Permalink to &quot;controls.cleanZone.textOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>清扫区域文本偏移</p><h4 id="controls-cleanzone-editing" tabindex="-1">controls.cleanZone.editing <a class="header-anchor" href="#controls-cleanzone-editing" aria-label="Permalink to &quot;controls.cleanZone.editing&quot;">​</a></h4><p>区域框编辑模式样式配置。</p><h5 id="controls-cleanzone-editing-isdashed" tabindex="-1">controls.cleanZone.editing.isDashed <a class="header-anchor" href="#controls-cleanzone-editing-isdashed" aria-label="Permalink to &quot;controls.cleanZone.editing.isDashed&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>编辑模式下清扫区域框是否显示为虚线</p><h5 id="controls-cleanzone-editing-dasharray" tabindex="-1">controls.cleanZone.editing.dashArray <a class="header-anchor" href="#controls-cleanzone-editing-dasharray" aria-label="Permalink to &quot;controls.cleanZone.editing.dashArray&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[0, 0]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑模式下清扫区域框虚线样式</p><h4 id="controls-cleanzone-normal" tabindex="-1">controls.cleanZone.normal <a class="header-anchor" href="#controls-cleanzone-normal" aria-label="Permalink to &quot;controls.cleanZone.normal&quot;">​</a></h4><p>区域框普通模式样式配置。</p><h5 id="controls-cleanzone-normal-isdashed" tabindex="-1">controls.cleanZone.normal.isDashed <a class="header-anchor" href="#controls-cleanzone-normal-isdashed" aria-label="Permalink to &quot;controls.cleanZone.normal.isDashed&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>普通模式下清扫区域框是否显示为虚线</p><h5 id="controls-cleanzone-normal-dasharray" tabindex="-1">controls.cleanZone.normal.dashArray <a class="header-anchor" href="#controls-cleanzone-normal-dasharray" aria-label="Permalink to &quot;controls.cleanZone.normal.dashArray&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[0, 0]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>普通模式下清扫区域框虚线样式</p><h3 id="controls-virtualwall" tabindex="-1">controls.virtualWall <a class="header-anchor" href="#controls-virtualwall" aria-label="Permalink to &quot;controls.virtualWall&quot;">​</a></h3><p>虚拟墙配置。</p><h4 id="controls-virtualwall-iconwrapperfillcolor" tabindex="-1">controls.virtualWall.iconWrapperFillColor <a class="header-anchor" href="#controls-virtualwall-iconwrapperfillcolor" aria-label="Permalink to &quot;controls.virtualWall.iconWrapperFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ff4444&#39;</code></li></ul><p>虚拟墙图标容器填充颜色</p><h4 id="controls-virtualwall-linewidth" tabindex="-1">controls.virtualWall.lineWidth <a class="header-anchor" href="#controls-virtualwall-linewidth" aria-label="Permalink to &quot;controls.virtualWall.lineWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>虚拟墙线条宽度</p><h4 id="controls-virtualwall-linecolor" tabindex="-1">controls.virtualWall.lineColor <a class="header-anchor" href="#controls-virtualwall-linecolor" aria-label="Permalink to &quot;controls.virtualWall.lineColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ff4444&#39;</code></li></ul><p>虚拟墙线条颜色</p><h4 id="controls-virtualwall-hitareathickness" tabindex="-1">controls.virtualWall.hitAreaThickness <a class="header-anchor" href="#controls-virtualwall-hitareathickness" aria-label="Permalink to &quot;controls.virtualWall.hitAreaThickness&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>30</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>虚拟墙热区厚度</p><h4 id="controls-virtualwall-outlineoffset" tabindex="-1">controls.virtualWall.outlineOffset <a class="header-anchor" href="#controls-virtualwall-outlineoffset" aria-label="Permalink to &quot;controls.virtualWall.outlineOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>虚拟墙轮廓偏移</p><h4 id="controls-virtualwall-outlinestrokecolor" tabindex="-1">controls.virtualWall.outlineStrokeColor <a class="header-anchor" href="#controls-virtualwall-outlinestrokecolor" aria-label="Permalink to &quot;controls.virtualWall.outlineStrokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ff4444&#39;</code></li></ul><p>虚拟墙轮廓描边颜色</p><h4 id="controls-virtualwall-outlinestrokewidth" tabindex="-1">controls.virtualWall.outlineStrokeWidth <a class="header-anchor" href="#controls-virtualwall-outlinestrokewidth" aria-label="Permalink to &quot;controls.virtualWall.outlineStrokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>虚拟墙轮廓描边宽度</p><h4 id="controls-virtualwall-outlinedashed" tabindex="-1">controls.virtualWall.outlineDashed <a class="header-anchor" href="#controls-virtualwall-outlinedashed" aria-label="Permalink to &quot;controls.virtualWall.outlineDashed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>虚拟墙轮廓是否为虚线</p><h4 id="controls-virtualwall-outlinedasharray" tabindex="-1">controls.virtualWall.outlineDashArray <a class="header-anchor" href="#controls-virtualwall-outlinedasharray" aria-label="Permalink to &quot;controls.virtualWall.outlineDashArray&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[4, 3]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>虚拟墙轮廓虚线样式</p><h4 id="controls-virtualwall-outlinefillcolor" tabindex="-1">controls.virtualWall.outlineFillColor <a class="header-anchor" href="#controls-virtualwall-outlinefillcolor" aria-label="Permalink to &quot;controls.virtualWall.outlineFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(255, 68, 68, 0.05)&#39;</code></li></ul><p>虚拟墙轮廓填充颜色</p><h4 id="controls-virtualwall-minwidth" tabindex="-1">controls.virtualWall.minWidth <a class="header-anchor" href="#controls-virtualwall-minwidth" aria-label="Permalink to &quot;controls.virtualWall.minWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>虚拟墙最小宽度</p><h4 id="controls-virtualwall-maxwidth" tabindex="-1">controls.virtualWall.maxWidth <a class="header-anchor" href="#controls-virtualwall-maxwidth" aria-label="Permalink to &quot;controls.virtualWall.maxWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number | undefined</code></li><li><strong>默认值</strong>: <code>undefined</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>虚拟墙最大宽度(可选)。缺省、NaN、非正数或 ≤ minWidth 时视为不限制,并会在控制台输出一次警告。</p><h4 id="controls-virtualwall-textcolor" tabindex="-1">controls.virtualWall.textColor <a class="header-anchor" href="#controls-virtualwall-textcolor" aria-label="Permalink to &quot;controls.virtualWall.textColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ff4444&#39;</code></li></ul><p>虚拟墙文本颜色</p><h4 id="controls-virtualwall-textoffset" tabindex="-1">controls.virtualWall.textOffset <a class="header-anchor" href="#controls-virtualwall-textoffset" aria-label="Permalink to &quot;controls.virtualWall.textOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>虚拟墙文本偏移</p><h4 id="controls-virtualwall-editing" tabindex="-1">controls.virtualWall.editing <a class="header-anchor" href="#controls-virtualwall-editing" aria-label="Permalink to &quot;controls.virtualWall.editing&quot;">​</a></h4><p>虚拟墙编辑模式样式配置。</p><h5 id="controls-virtualwall-editing-isdashed" tabindex="-1">controls.virtualWall.editing.isDashed <a class="header-anchor" href="#controls-virtualwall-editing-isdashed" aria-label="Permalink to &quot;controls.virtualWall.editing.isDashed&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>编辑模式下是否使用虚线。</p><h5 id="controls-virtualwall-editing-dasharray" tabindex="-1">controls.virtualWall.editing.dashArray <a class="header-anchor" href="#controls-virtualwall-editing-dasharray" aria-label="Permalink to &quot;controls.virtualWall.editing.dashArray&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[0, 0]</code></li></ul><p>编辑模式虚线样式。</p><h4 id="controls-virtualwall-normal" tabindex="-1">controls.virtualWall.normal <a class="header-anchor" href="#controls-virtualwall-normal" aria-label="Permalink to &quot;controls.virtualWall.normal&quot;">​</a></h4><p>虚拟墙普通模式样式配置。</p><h5 id="controls-virtualwall-normal-isdashed" tabindex="-1">controls.virtualWall.normal.isDashed <a class="header-anchor" href="#controls-virtualwall-normal-isdashed" aria-label="Permalink to &quot;controls.virtualWall.normal.isDashed&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>普通模式下是否使用虚线。</p><h5 id="controls-virtualwall-normal-dasharray" tabindex="-1">controls.virtualWall.normal.dashArray <a class="header-anchor" href="#controls-virtualwall-normal-dasharray" aria-label="Permalink to &quot;controls.virtualWall.normal.dashArray&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[0, 0]</code></li></ul><p>普通模式虚线样式。</p><h3 id="controls-threshold" tabindex="-1">controls.threshold <a class="header-anchor" href="#controls-threshold" aria-label="Permalink to &quot;controls.threshold&quot;">​</a></h3><p>门槛配置。门槛是四角坐标描述的斜纹矩形条带;条带为真实世界尺寸(随地图缩放),描边 / 圆角 / 热区边距为屏幕像素(不随缩放),<strong>斜纹线宽与间距是条带厚度的比例</strong>。编辑面复用四边形家族的编辑控件(四角按钮:删除 / 旋转 / 缩放 / 移动)。</p><p>默认观感为「危险胶带」:白色底 + 粗斜纹,可通行蓝白、不可通行红白,斜纹方向 <code>/</code>。整套纹路跟着条带一起缩放,所以<strong>条纹根数、疏密、着色比例在任何地图缩放、任何条带厚度下都一样</strong>——0.15m 与 0.4m 的门槛、放大与缩小,看起来都是同一张贴纸。</p><div class="warning custom-block"><p class="custom-block-title">0.0.x 破坏性变更</p><p><code>stripeWidth</code> / <code>stripeGap</code> 的单位从屏幕像素改成了条带厚度的比例。旧值(例如 <code>stripeWidth: 3</code>)现在表示「3 倍条带厚度」,会画成一整片实色。升级时请按新语义重填,或直接删掉这两项用默认值。</p></div><h4 id="controls-threshold-stripewidth" tabindex="-1">controls.threshold.stripeWidth <a class="header-anchor" href="#controls-threshold-stripewidth" aria-label="Permalink to &quot;controls.threshold.stripeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0.3</code></li><li><strong>单位</strong>: 条带厚度的比例(<strong>不是像素</strong>)</li></ul><p>斜纹线宽,垂直于斜纹方向度量。<code>0.3</code> 表示线宽为条带厚度的 30%——0.4m 的门槛画 0.12m 宽的斜纹,0.15m 的门槛画 0.045m,观感一致。</p><h4 id="controls-threshold-stripegap" tabindex="-1">controls.threshold.stripeGap <a class="header-anchor" href="#controls-threshold-stripegap" aria-label="Permalink to &quot;controls.threshold.stripeGap&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0.4</code></li><li><strong>单位</strong>: 条带厚度的比例(<strong>不是像素</strong>)</li></ul><p>相邻斜纹间距,沿条带长度方向度量。步距 <code>stripeWidth + stripeGap</code>(默认 <code>0.7</code>)决定疏密:任一竖切面上约有 <code>1 / 0.7 ≈ 1.4</code> 根斜纹穿过条带。</p><div class="tip custom-block"><p class="custom-block-title">两者不同轴</p><p><code>stripeWidth</code> 是垂直于斜纹的线宽,同一根斜纹沿条带长度方向占 <code>stripeWidth / sin(stripeAngle)</code>(45° 时是 <code>× √2</code>)。所以着色比例约为 <code>stripeWidth / sin(stripeAngle) / (stripeWidth + stripeGap)</code>,默认值(0.3 / 0.4 / 55°)下约 <strong>55%</strong>。想整体调疏密就一起放大两个值(保持比值不变),想调色块占比就只动 <code>stripeWidth</code>。</p></div><h4 id="controls-threshold-stripedirection" tabindex="-1">controls.threshold.stripeDirection <a class="header-anchor" href="#controls-threshold-stripedirection" aria-label="Permalink to &quot;controls.threshold.stripeDirection&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>&#39;forward&#39; | &#39;backward&#39;</code></li><li><strong>默认值</strong>: <code>&#39;forward&#39;</code></li></ul><p>斜纹倾斜方向。<code>&#39;forward&#39;</code> 为 <code>/</code>(沿条带长度方向向右上),<code>&#39;backward&#39;</code> 为 <code>\\</code>(向右下)。厂商惯例不一,两种都支持。</p><h4 id="controls-threshold-stripeangle" tabindex="-1">controls.threshold.stripeAngle <a class="header-anchor" href="#controls-threshold-stripeangle" aria-label="Permalink to &quot;controls.threshold.stripeAngle&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>55</code></li><li><strong>单位</strong>: 度(与条带长度方向的夹角),钳制在 <code>[10, 90]</code></li></ul><p>默认 <code>55</code>,比常见的危险胶带角度(45°)更立一些。<code>90</code> 为垂直于条带的竖条纹;超出范围或非数值会回落到区间内 / 默认值。</p><div class="warning custom-block"><p class="custom-block-title">改角度会连带改变着色</p><p>斜纹越陡,横穿条带需要的水平距离越短(<code>厚度 / tan(角度)</code>),而且一根斜纹沿长度方向只占 <code>stripeWidth / sin(角度)</code>(45° 时是 <code>× √2</code>,90° 时是 <code>× 1</code>)。所以<strong>只调陡角度会让条带变淡</strong>——默认的 55° + <code>stripeWidth</code> 0.3 着色约 55%,同样参数在 45° 下是 61%。</p><p>想在别的角度上维持约 61% 着色(默认步距 0.7),<code>stripeWidth</code> 要按 <code>sin(角度)</code> 同步放大:</p><table tabindex="0"><thead><tr><th><code>stripeAngle</code></th><th>维持 61% 着色的 <code>stripeWidth</code></th></tr></thead><tbody><tr><td>45</td><td>0.30</td></tr><tr><td>55</td><td>0.35</td></tr><tr><td>65</td><td>0.39</td></tr><tr><td>75</td><td>0.41</td></tr><tr><td>90</td><td>0.43</td></tr></tbody></table></div><h4 id="controls-threshold-borderwidth" tabindex="-1">controls.threshold.borderWidth <a class="header-anchor" href="#controls-threshold-borderwidth" aria-label="Permalink to &quot;controls.threshold.borderWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>条带边框线宽(屏幕像素)。颜色与斜纹同为 <code>passable.color</code> / <code>impassable.color</code>。</p><h4 id="controls-threshold-cornerradius" tabindex="-1">controls.threshold.cornerRadius <a class="header-anchor" href="#controls-threshold-cornerradius" aria-label="Permalink to &quot;controls.threshold.cornerRadius&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>条带圆角半径(屏幕像素)。自动不超过条带半厚 / 半长。</p><h4 id="controls-threshold-passable" tabindex="-1">controls.threshold.passable <a class="header-anchor" href="#controls-threshold-passable" aria-label="Permalink to &quot;controls.threshold.passable&quot;">​</a></h4><p>可通行门槛样式(默认蓝白斜纹)。</p><h5 id="controls-threshold-passable-color" tabindex="-1">controls.threshold.passable.color <a class="header-anchor" href="#controls-threshold-passable-color" aria-label="Permalink to &quot;controls.threshold.passable.color&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#2f54eb&#39;</code></li></ul><p>条纹与描边颜色。</p><h5 id="controls-threshold-passable-fillcolor" tabindex="-1">controls.threshold.passable.fillColor <a class="header-anchor" href="#controls-threshold-passable-fillcolor" aria-label="Permalink to &quot;controls.threshold.passable.fillColor&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ffffff&#39;</code></li></ul><p>条带底色。默认为不透明白色(斜纹之间的留白);想让地图透出来就改成半透明色。</p><h4 id="controls-threshold-impassable" tabindex="-1">controls.threshold.impassable <a class="header-anchor" href="#controls-threshold-impassable" aria-label="Permalink to &quot;controls.threshold.impassable&quot;">​</a></h4><p>不可通行门槛样式(默认红白斜纹)。</p><h5 id="controls-threshold-impassable-color" tabindex="-1">controls.threshold.impassable.color <a class="header-anchor" href="#controls-threshold-impassable-color" aria-label="Permalink to &quot;controls.threshold.impassable.color&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ff4d4f&#39;</code></li></ul><p>条纹与描边颜色。</p><h5 id="controls-threshold-impassable-fillcolor" tabindex="-1">controls.threshold.impassable.fillColor <a class="header-anchor" href="#controls-threshold-impassable-fillcolor" aria-label="Permalink to &quot;controls.threshold.impassable.fillColor&quot;">​</a></h5><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ffffff&#39;</code></li></ul><p>条带底色。</p><h4 id="controls-threshold-minlength" tabindex="-1">controls.threshold.minLength <a class="header-anchor" href="#controls-threshold-minlength" aria-label="Permalink to &quot;controls.threshold.minLength&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0.4</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>最小长度。绘制与缩放时长边(顶点 0→1)被钳制到不小于该值。</p><h4 id="controls-threshold-maxlength" tabindex="-1">controls.threshold.maxLength <a class="header-anchor" href="#controls-threshold-maxlength" aria-label="Permalink to &quot;controls.threshold.maxLength&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number | undefined</code></li><li><strong>默认值</strong>: <code>3</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>最大长度(可选)。缺省或 ≤ minLength 时不限制。</p><h4 id="controls-threshold-minheight" tabindex="-1">controls.threshold.minHeight <a class="header-anchor" href="#controls-threshold-minheight" aria-label="Permalink to &quot;controls.threshold.minHeight&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0.1</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>最小厚度。绘制与缩放时厚度边(顶点 0→3)被钳制到不小于该值。</p><h4 id="controls-threshold-maxheight" tabindex="-1">controls.threshold.maxHeight <a class="header-anchor" href="#controls-threshold-maxheight" aria-label="Permalink to &quot;controls.threshold.maxHeight&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number | undefined</code></li><li><strong>默认值</strong>: <code>0.4</code></li><li><strong>单位</strong>: <code>米</code></li></ul><p>最大厚度(可选)。缺省或 ≤ minHeight 时不限制。</p><div class="warning custom-block"><p class="custom-block-title">配置变更</p><p>0.0.18 起门槛数据改为四角坐标,厚度总能从数据反解出来,<code>controls.threshold.defaultHeight</code> 因此被移除。</p></div><h4 id="controls-threshold-iconwrapperfillcolor" tabindex="-1">controls.threshold.iconWrapperFillColor <a class="header-anchor" href="#controls-threshold-iconwrapperfillcolor" aria-label="Permalink to &quot;controls.threshold.iconWrapperFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ff4444&#39;</code></li></ul><p>四角控制按钮图标容器填充颜色(编辑态显示)。</p><h4 id="controls-threshold-hitareapadding" tabindex="-1">controls.threshold.hitAreaPadding <a class="header-anchor" href="#controls-threshold-hitareapadding" aria-label="Permalink to &quot;controls.threshold.hitAreaPadding&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>12</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>点击热区在条带每一侧向外扩展的可抓边距(屏幕像素)。热区厚度 = 条带高度 + 2 × 该值,因此条带无论多厚都保有固定的可抓边距,细条带也不会难以点中。</p><h4 id="controls-threshold-outlineoffset" tabindex="-1">controls.threshold.outlineOffset <a class="header-anchor" href="#controls-threshold-outlineoffset" aria-label="Permalink to &quot;controls.threshold.outlineOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑态轮廓相对条带边缘的偏移。</p><h4 id="controls-threshold-outlinestrokecolor" tabindex="-1">controls.threshold.outlineStrokeColor <a class="header-anchor" href="#controls-threshold-outlinestrokecolor" aria-label="Permalink to &quot;controls.threshold.outlineStrokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#666666&#39;</code></li></ul><p>编辑态轮廓描边颜色。</p><h4 id="controls-threshold-outlinestrokewidth" tabindex="-1">controls.threshold.outlineStrokeWidth <a class="header-anchor" href="#controls-threshold-outlinestrokewidth" aria-label="Permalink to &quot;controls.threshold.outlineStrokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑态轮廓描边宽度。</p><h4 id="controls-threshold-outlinedashed" tabindex="-1">controls.threshold.outlineDashed <a class="header-anchor" href="#controls-threshold-outlinedashed" aria-label="Permalink to &quot;controls.threshold.outlineDashed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>编辑态轮廓是否为虚线。</p><h4 id="controls-threshold-outlinedasharray" tabindex="-1">controls.threshold.outlineDashArray <a class="header-anchor" href="#controls-threshold-outlinedasharray" aria-label="Permalink to &quot;controls.threshold.outlineDashArray&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[4, 3]</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑态轮廓虚线样式。</p><h4 id="controls-threshold-outlinefillcolor" tabindex="-1">controls.threshold.outlineFillColor <a class="header-anchor" href="#controls-threshold-outlinefillcolor" aria-label="Permalink to &quot;controls.threshold.outlineFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(102, 102, 102, 0.05)&#39;</code></li></ul><p>编辑态轮廓填充颜色。</p><h4 id="controls-threshold-textcolor" tabindex="-1">controls.threshold.textColor <a class="header-anchor" href="#controls-threshold-textcolor" aria-label="Permalink to &quot;controls.threshold.textColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#666666&#39;</code></li></ul><p>尺寸标签(长×厚)文本颜色(编辑态显示)。</p><h4 id="controls-threshold-textoffset" tabindex="-1">controls.threshold.textOffset <a class="header-anchor" href="#controls-threshold-textoffset" aria-label="Permalink to &quot;controls.threshold.textOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>尺寸标签相对轮廓边缘向外的偏移。</p><h3 id="controls-ramp" tabindex="-1">controls.ramp <a class="header-anchor" href="#controls-ramp" aria-label="Permalink to &quot;controls.ramp&quot;">​</a></h3><p>坡道配置。坡道是四角坐标描述的不透明矩形地面元素,纹样是<strong>朝上(顺坡向)的浅角箭头</strong>:尖端在正中、指向坡向。坡道画在<strong>路径 / 机器人 / 房间名之下</strong>的地面标记层(不参与 <a href="#controls-renderorder"><code>controls.renderOrder</code></a> 排序),编辑面复用四边形家族的编辑控件(四角按钮:删除 / 旋转 / 缩放 / 移动)。</p><p><strong>箭头按「铺瓷砖」排布,不是把单个箭头拉满坡道宽度。</strong> 砖的尺寸只由<strong>短边</strong>决定(<code>短边 / arrowDensity</code>),再沿坡向铺若干<strong>行</strong>、沿宽方向铺若干<strong>列</strong> —— 因此任何宽高比的坡道看到的都是同一块砖,只是数量不同:方形坡道 1 列 6 行(就是 UED 稿本身),又宽又矮的坡道会多铺几列,又窄又高的会多铺几行。</p><details class="details custom-block"><summary>为什么必须铺砖:拉伸单个箭头会随宽高比垮掉</summary><p>折角深浅取自砖宽、线宽取自行距。如果砖宽等于坡道全宽,这两个特征就分别挂在宽、高两条边上,「折角 ÷ 线宽」直接等于宽高比:</p><table tabindex="0"><thead><tr><th>坡道</th><th>折角 ÷ 线宽</th><th>观感</th></tr></thead><tbody><tr><td>又窄又高</td><td>≈ 0.14</td><td>折角只有线宽的 1/7,退化成一叠胖带子</td></tr><tr><td>方形</td><td>≈ 1</td><td>正常</td></tr><tr><td>又宽又矮</td><td>≈ 6</td><td>细发丝配大折角</td></tr></tbody></table><p>铺砖后这个比值在任何宽高比下都恒定在 <code>1</code> 附近。</p></details><p>三条尺寸规则刻意不同,都是为了让箭头在任何情况下都读得出方向:</p><ul><li><strong>最小步距(屏幕像素)是密度天花板</strong>,不是实际间距。地图缩得很小时它顶掉砖尺寸,砖变大、行数变少,箭头不会糊成一片;它同时兜住砖宽,又扁又宽的坡道不会碎成一排几像素宽的碎片。</li><li><strong>线宽按实际行距的比例算</strong>(<a href="#controls-ramp-arrowthicknessratio"><code>arrowThicknessRatio</code></a>),不锁死在屏幕像素。行距随坡道尺寸变化,线宽必须跟着长 —— 否则放大地图就会看到又宽又疏的缝里夹着细发丝一样的箭头。</li><li><strong>折角是角度而非固定像素。</strong> 外凸量由 <code>半个砖宽 × tan(角度)</code> 反推,所以任何坡道尺寸下箭头形状都一样;若用固定像素,宽砖上的箭头会被摊平成近似直线。</li></ul><p>排版还会在上下各预留线宽(尖端按斜接量预留),因此首尾两行箭头<strong>都不会被裁掉一半</strong>。多列时列与列之间留一道缝,缝宽取自行与行之间的缝(横竖同一个节奏)—— 箭头挨在一起会连成「∧∨∧」一道波浪,读不出方向。</p><h4 id="controls-ramp-fillcolor" tabindex="-1">controls.ramp.fillColor <a class="header-anchor" href="#controls-ramp-fillcolor" aria-label="Permalink to &quot;controls.ramp.fillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#7679dd&#39;</code></li></ul><p>底色。<strong>不透明</strong> —— 坡道是地面元素,会完全盖住地板;因其画在路径 / 机器人之下,不会遮挡活动元素。</p><h4 id="controls-ramp-strokecolor" tabindex="-1">controls.ramp.strokeColor <a class="header-anchor" href="#controls-ramp-strokecolor" aria-label="Permalink to &quot;controls.ramp.strokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#5b60cf&#39;</code></li></ul><p>描边颜色。</p><h4 id="controls-ramp-strokewidth" tabindex="-1">controls.ramp.strokeWidth <a class="header-anchor" href="#controls-ramp-strokewidth" aria-label="Permalink to &quot;controls.ramp.strokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li><li><strong>单位</strong>: <code>px</code>(屏幕像素,不随地图缩放)</li></ul><p>描边线宽。</p><h4 id="controls-ramp-arrowcolor" tabindex="-1">controls.ramp.arrowColor <a class="header-anchor" href="#controls-ramp-arrowcolor" aria-label="Permalink to &quot;controls.ramp.arrowColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(255, 255, 255, 0.4)&#39;</code></li></ul><p>箭头颜色。默认是白色 40% 透明叠在底色上,因此改 <a href="#controls-ramp-fillcolor"><code>fillColor</code></a> 时箭头会自动跟随,不需要两处对着调。</p><h4 id="controls-ramp-arrowthickness" tabindex="-1">controls.ramp.arrowThickness <a class="header-anchor" href="#controls-ramp-arrowthickness" aria-label="Permalink to &quot;controls.ramp.arrowThickness&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>3</code></li><li><strong>单位</strong>: <code>px</code>(屏幕像素,不随地图缩放)</li></ul><p>箭头<strong>最小</strong>线宽。实际线宽取 <code>实际行距 × arrowThicknessRatio</code> 与本值中的较大者 —— 正常缩放下由比例决定,坡道小到 / 地图缩到线要细过本值时由本值兜底,保证箭头不会细成看不见。</p><h4 id="controls-ramp-arrowthicknessratio" tabindex="-1">controls.ramp.arrowThicknessRatio <a class="header-anchor" href="#controls-ramp-arrowthicknessratio" aria-label="Permalink to &quot;controls.ramp.arrowThicknessRatio&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0.43</code></li></ul><p>箭头线宽相对<strong>实际行距</strong>的比例(<code>3 / 7</code>,取自 UED 矢量稿的线宽与步距)。</p><p>线宽跟着行距走而不是锁在固定像素:行距随坡道尺寸变化,如果线宽不跟着长,放大地图就会看到又宽又疏的缝里夹着细发丝。按比例算才能让线与缝的粗细比恒定,任何缩放下都是同一张贴纸。</p><p>调大线更粗(越接近实心块),调小线更细。</p><h4 id="controls-ramp-arrowgap" tabindex="-1">controls.ramp.arrowGap <a class="header-anchor" href="#controls-ramp-arrowgap" aria-label="Permalink to &quot;controls.ramp.arrowGap&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>4</code></li><li><strong>单位</strong>: <code>px</code>(屏幕像素,不随地图缩放)</li></ul><p>相邻箭头的<strong>最小</strong>间隙,沿坡向度量。最小步距 <code>arrowThickness + arrowGap</code>(默认 <code>7px</code>)是密度天花板 —— 箭头永远不会比这更挤。地图缩得很小时它会顶掉 <a href="#controls-ramp-arrowdensity"><code>arrowDensity</code></a> 算出的砖尺寸,让砖变大、行数变少;它也同时兜住砖宽,防止又扁又宽的坡道碎成一排几像素宽的碎片。</p><h4 id="controls-ramp-arrowdensity" tabindex="-1">controls.ramp.arrowDensity <a class="header-anchor" href="#controls-ramp-arrowdensity" aria-label="Permalink to &quot;controls.ramp.arrowDensity&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>6</code></li></ul><p>纹样密度:<strong>短边</strong>上铺几个箭头(<code>6</code> 取自 UED 稿在自己方形画板上的箭头根数,所以方形坡道铺出来就是稿子本身)。</p><p>砖的尺寸 = <code>短边 / arrowDensity</code>,长边方向按同一块砖铺整数份。调小更稀(例如 <code>4</code>:砖更大、箭头更少更粗),调大更密 —— 但密度还受最小步距 <code>arrowThickness + arrowGap</code> 约束,调大到塞不下时不会生效。</p><div class="warning custom-block"><p class="custom-block-title">这个值不是「最多几个箭头」</p><p>它是<strong>短边</strong>上的格数。又窄又高的坡道会按同一块砖沿长边铺出远多于 6 行 —— 那正是让它保持箭头观感的原因(否则 6 行摊在长坡道上,行距被拉开、线宽跟着变粗,就退化成胖带子)。要整体调稀请调本值,不要试图给行数设上限。</p></div><h4 id="controls-ramp-arrowangle" tabindex="-1">controls.ramp.arrowAngle <a class="header-anchor" href="#controls-ramp-arrowangle" aria-label="Permalink to &quot;controls.ramp.arrowAngle&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>9</code></li><li><strong>单位</strong>: 度(箭头两臂相对横轴的抬升角),钳制在 <code>[1, 60]</code></li></ul><p>折角角度。外凸量由 <code>半个砖宽 × tan(角度)</code> 反推,因此任何坡道尺寸、任何缩放下箭头形状恒定。</p><p>调小会让箭头趋于平直(低于 <code>1°</code> 视觉上就是一条直线),调大则两臂变陡、吃掉更多行距。默认 <code>9</code> 取自 UED 矢量稿(外凸 3 / 半长 19.5 ≈ 8.7°),是一道很浅的折。</p><div class="tip custom-block"><p class="custom-block-title">小坡道上箭头会偏平</p><p><code>9°</code> 是很浅的角:0.5m 的坡道在默认缩放下只有 10px 宽,折角外凸不到 1px,方向几乎看不出来。如果你的场景里小坡道很常见,把这个值调陡(例如 <code>20</code>)会明显好读。</p></div><h4 id="controls-ramp-arrowinset" tabindex="-1">controls.ramp.arrowInset <a class="header-anchor" href="#controls-ramp-arrowinset" aria-label="Permalink to &quot;controls.ramp.arrowInset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>3</code></li><li><strong>单位</strong>: <code>px</code>(屏幕像素,不随地图缩放)</li></ul><p>箭头区域相对坡道边缘的内缩,四边同值 —— 箭头不贴边(与 UED 稿一致)。自动不超过坡道的半宽 / 半高。</p><h4 id="controls-ramp-minwidth" tabindex="-1">controls.ramp.minWidth <a class="header-anchor" href="#controls-ramp-minwidth" aria-label="Permalink to &quot;controls.ramp.minWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0.2</code></li><li><strong>单位</strong>: 米</li></ul><p>最小宽度。绘制与缩放时宽边(顶点 0→1)被钳制到不小于该值。</p><h4 id="controls-ramp-maxwidth" tabindex="-1">controls.ramp.maxWidth <a class="header-anchor" href="#controls-ramp-maxwidth" aria-label="Permalink to &quot;controls.ramp.maxWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>4</code></li><li><strong>单位</strong>: 米</li></ul><p>最大宽度,可选。缺省或 ≤ <code>minWidth</code> 时不限制。</p><h4 id="controls-ramp-minheight" tabindex="-1">controls.ramp.minHeight <a class="header-anchor" href="#controls-ramp-minheight" aria-label="Permalink to &quot;controls.ramp.minHeight&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>0.4</code></li><li><strong>单位</strong>: 米</li></ul><p>最小高度。绘制与缩放时高边(顶点 0→3)被钳制到不小于该值。高方向即坡向, <code>getRampPointsByViewportCenter</code> 的缺省高度正好等于本值 —— 新建坡道一开始就在 最薄的那一档,只能变厚。</p><div class="warning custom-block"><p class="custom-block-title">调低到 0.3m 以下时箭头会退化成条纹</p><p><a href="#controls-ramp-arrowinset"><code>arrowInset</code></a> 的内缩加上 <a href="#controls-ramp-arrowthickness"><code>arrowThickness</code></a> 的最低线宽会吃掉整个厚度, 折角外凸不到 1px —— 画出来是一排细条纹而不是箭头。这是厚度本身放不下箭头, 不是配置错了。默认的 <code>0.4m</code> 在这条线之上。</p></div><h4 id="controls-ramp-maxheight" tabindex="-1">controls.ramp.maxHeight <a class="header-anchor" href="#controls-ramp-maxheight" aria-label="Permalink to &quot;controls.ramp.maxHeight&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>4</code></li><li><strong>单位</strong>: 米</li></ul><p>最大高度,可选。缺省或 ≤ <code>minHeight</code> 时不限制。</p><h4 id="controls-ramp-iconwrapperfillcolor" tabindex="-1">controls.ramp.iconWrapperFillColor <a class="header-anchor" href="#controls-ramp-iconwrapperfillcolor" aria-label="Permalink to &quot;controls.ramp.iconWrapperFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#ff4444&#39;</code></li></ul><p>四角控制按钮图标容器填充颜色(编辑态显示)。</p><h4 id="controls-ramp-outlineoffset" tabindex="-1">controls.ramp.outlineOffset <a class="header-anchor" href="#controls-ramp-outlineoffset" aria-label="Permalink to &quot;controls.ramp.outlineOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑态轮廓相对坡道边缘的偏移。</p><h4 id="controls-ramp-outlinestrokecolor" tabindex="-1">controls.ramp.outlineStrokeColor <a class="header-anchor" href="#controls-ramp-outlinestrokecolor" aria-label="Permalink to &quot;controls.ramp.outlineStrokeColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#666666&#39;</code></li></ul><p>编辑态轮廓描边颜色。</p><h4 id="controls-ramp-outlinestrokewidth" tabindex="-1">controls.ramp.outlineStrokeWidth <a class="header-anchor" href="#controls-ramp-outlinestrokewidth" aria-label="Permalink to &quot;controls.ramp.outlineStrokeWidth&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>2</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>编辑态轮廓描边宽度。</p><h4 id="controls-ramp-outlinedashed" tabindex="-1">controls.ramp.outlineDashed <a class="header-anchor" href="#controls-ramp-outlinedashed" aria-label="Permalink to &quot;controls.ramp.outlineDashed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>编辑态轮廓是否虚线。</p><h4 id="controls-ramp-outlinedasharray" tabindex="-1">controls.ramp.outlineDashArray <a class="header-anchor" href="#controls-ramp-outlinedasharray" aria-label="Permalink to &quot;controls.ramp.outlineDashArray&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>[number, number]</code></li><li><strong>默认值</strong>: <code>[4, 3]</code></li></ul><p>编辑态轮廓虚线数组。</p><h4 id="controls-ramp-outlinefillcolor" tabindex="-1">controls.ramp.outlineFillColor <a class="header-anchor" href="#controls-ramp-outlinefillcolor" aria-label="Permalink to &quot;controls.ramp.outlineFillColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;rgba(102, 102, 102, 0.05)&#39;</code></li></ul><p>编辑态轮廓填充颜色。</p><h4 id="controls-ramp-textcolor" tabindex="-1">controls.ramp.textColor <a class="header-anchor" href="#controls-ramp-textcolor" aria-label="Permalink to &quot;controls.ramp.textColor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>ColorSource</code></li><li><strong>默认值</strong>: <code>&#39;#666666&#39;</code></li></ul><p>尺寸标签(宽×高)文本颜色(编辑态显示)。</p><h4 id="controls-ramp-textoffset" tabindex="-1">controls.ramp.textOffset <a class="header-anchor" href="#controls-ramp-textoffset" aria-label="Permalink to &quot;controls.ramp.textOffset&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>16</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>尺寸标签相对轮廓边缘向外的偏移。</p><h3 id="controls-spot" tabindex="-1">controls.spot <a class="header-anchor" href="#controls-spot" aria-label="Permalink to &quot;controls.spot&quot;">​</a></h3><p>定点清扫配置。</p><h4 id="controls-spot-iconsrc" tabindex="-1">controls.spot.iconSrc <a class="header-anchor" href="#controls-spot-iconsrc" aria-label="Permalink to &quot;controls.spot.iconSrc&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>string</code></li><li><strong>默认值</strong>: <code>内置资源</code></li></ul><p>定点清扫图标资源路径</p><h4 id="controls-spot-iconsize" tabindex="-1">controls.spot.iconSize <a class="header-anchor" href="#controls-spot-iconsize" aria-label="Permalink to &quot;controls.spot.iconSize&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>8</code></li><li><strong>单位</strong>: <code>px</code></li></ul><p>定点清扫图标大小</p><h4 id="controls-spot-iconsizefixed" tabindex="-1">controls.spot.iconSizeFixed <a class="header-anchor" href="#controls-spot-iconsizefixed" aria-label="Permalink to &quot;controls.spot.iconSizeFixed&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>false</code></li></ul><p>定点清扫图标尺寸是否固定(不跟随地图缩放)</p><h4 id="controls-spot-iconanchor" tabindex="-1">controls.spot.iconAnchor <a class="header-anchor" href="#controls-spot-iconanchor" aria-label="Permalink to &quot;controls.spot.iconAnchor&quot;">​</a></h4><ul><li><strong>类型</strong>: <code>Point</code></li><li><strong>默认值</strong>: <code>{ x: 0.5, y: 0.5 }</code></li></ul><p>定点清扫中心图标的锚点位置,用于控制图标相对于坐标点的对齐方式。</p><p>锚点坐标系说明:</p><ul><li><code>{x: 0, y: 0}</code> 表示左上角</li><li><code>{x: 0.5, y: 0.5}</code> 表示中心点(默认)</li><li><code>{x: 0.5, y: 1}</code> 表示底部中心(适用于气泡/水滴形状的图标)</li><li><code>{x: 1, y: 1}</code> 表示右下角</li></ul><p><strong>注意</strong>: 图标锚点只影响中心图标本身,外框(填充/边框)与文本标签仍以坐标点为基准布局。所有 Spot 统一使用此配置中的锚点值。</p><p><strong>示例</strong>:</p><div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> mapInstance</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> MapApplication</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
211
211
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> config: {</span></span>
212
212
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> controls: {</span></span>
213
213
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> spot: {</span></span>
@@ -244,4 +244,4 @@ import{_ as e,c as i,o as a,aq as t}from"./chunks/framework.CBLqO2Q1.js";const g
244
244
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> anchor: { x: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0.5</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, y: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }, </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// 所有检测物体都使用底部中心作为锚点</span></span>
245
245
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
246
246
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
247
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">})</span></span></code></pre></div><h2 id="snapshot" tabindex="-1">snapshot <a class="header-anchor" href="#snapshot" aria-label="Permalink to &quot;snapshot&quot;">​</a></h2><p>截图配置。</p><h3 id="snapshot-format" tabindex="-1">snapshot.format <a class="header-anchor" href="#snapshot-format" aria-label="Permalink to &quot;snapshot.format&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>&#39;png&#39; | &#39;jpg&#39; | &#39;webp&#39;</code></li><li><strong>默认值</strong>: <code>&#39;png&#39;</code></li></ul><p>截图输出格式。</p><h3 id="snapshot-quality" tabindex="-1">snapshot.quality <a class="header-anchor" href="#snapshot-quality" aria-label="Permalink to &quot;snapshot.quality&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li></ul><p>截图质量 (0-1)。</p><h3 id="snapshot-antialias" tabindex="-1">snapshot.antialias <a class="header-anchor" href="#snapshot-antialias" aria-label="Permalink to &quot;snapshot.antialias&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>截图是否开启抗锯齿。</p><h3 id="snapshot-resolution" tabindex="-1">snapshot.resolution <a class="header-anchor" href="#snapshot-resolution" aria-label="Permalink to &quot;snapshot.resolution&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>4</code></li></ul><p>截图分辨率倍数。</p>`,1466)])])}const u=e(s,[["render",l]]);export{g as __pageData,u as default};
247
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">})</span></span></code></pre></div><h2 id="snapshot" tabindex="-1">snapshot <a class="header-anchor" href="#snapshot" aria-label="Permalink to &quot;snapshot&quot;">​</a></h2><p>截图配置。</p><h3 id="snapshot-format" tabindex="-1">snapshot.format <a class="header-anchor" href="#snapshot-format" aria-label="Permalink to &quot;snapshot.format&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>&#39;png&#39; | &#39;jpg&#39; | &#39;webp&#39;</code></li><li><strong>默认值</strong>: <code>&#39;png&#39;</code></li></ul><p>截图输出格式。</p><h3 id="snapshot-quality" tabindex="-1">snapshot.quality <a class="header-anchor" href="#snapshot-quality" aria-label="Permalink to &quot;snapshot.quality&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>1</code></li></ul><p>截图质量 (0-1)。</p><h3 id="snapshot-antialias" tabindex="-1">snapshot.antialias <a class="header-anchor" href="#snapshot-antialias" aria-label="Permalink to &quot;snapshot.antialias&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>boolean</code></li><li><strong>默认值</strong>: <code>true</code></li></ul><p>截图是否开启抗锯齿。</p><h3 id="snapshot-resolution" tabindex="-1">snapshot.resolution <a class="header-anchor" href="#snapshot-resolution" aria-label="Permalink to &quot;snapshot.resolution&quot;">​</a></h3><ul><li><strong>类型</strong>: <code>number</code></li><li><strong>默认值</strong>: <code>4</code></li></ul><p>截图分辨率倍数。</p>`,1549)])])}const u=e(s,[["render",r]]);export{g as __pageData,u as default};