标签放置与碰撞淡变
阶段74已完成本机公共验收及匹配开发SDK;下面说明已冻结合同。正式发布、设备及外机验收仍按文末记录。
fadeDuration 只控制标签因碰撞放置而出现、消失的透明度。它与图层paint过渡、影像瓦片渐变以及 materialFadeDuration 的图案材质窗口分别计时。支持范围为现有合法GeoJSON/MVT点图文和沿线符号;不由本批新增球面、地形文字、复杂字体整形或跨瓦片线段拼接。
独立网页SDK可在创建时传 fadeDuration。Native持续脚本、桌面应用、主线程和Worker脚本使用共同扩展getter/setter;扩展放在 sqs 下,不声称是MapLibre标准Map方法。
// 独立SDK初始化:
const map = await MapView.create(container, { fadeDuration: 1200 });
// 以下两行也适用于共同脚本:
map.sqs.setLabelFadeDuration(1200);
const milliseconds = await map.sqs.getLabelFadeDuration();
能力查询 commonSymbolPlacementHistory 为true时支持本合同;旧版本应先按能力判断。
默认300毫秒,0表示下一个真实帧立即采用目标。值须有限、非负,最多3600000毫秒;负数、非有限值为INVALID_ARGUMENT,超限为RESOURCE_LIMIT,错误不得改变原配置、身份、历史或画面。配置跨完整样式替换及清空保留。
透明度随真实渲染时钟线性推进,每个fadeDuration走完一个完整透明度单位。中途反向先取当前实际alpha,保持连续,再以新方向推进;0.4退到0约需0.4个窗口。改变窗口先采旧轨迹,再按新速度继续。此连续性是SqsMap明确策略;固定参考里的缩放反向还包含瓦片和重放置调度,不能把该组合轨迹说成纯标量连续性的证明。
新地图首次成功非空放置直接可见。此规则不等于每次style.load:既有地图的完整样式替换会以新资源身份重新放置并淡入。精确无变化的兼容diff保留既有身份和时钟。删除图层、图源、图片、清空或销毁不能保留无效图集引用或幽灵标签;资源生命周期与预算按冻结实现核定。
查询和显示各有用途。queryRenderedFeatures 按当前目标放置返回原始要素编号、图源及图层;碰撞淘汰后,旧像素可以继续淡出,但该目标已不返回。新目标开始淡入时即按目标参与查询。淡出的几何随原世界锚点和相机更新,不冻结成屏幕截图,不修改原图源坐标。
图标和文字继续使用已有optional和碰撞决策。默认必需组合中图标被挡会使组合退场;启用icon-optional后文字可以独立放置。placement因子与paint opacity各乘一次,沿线逐字、RGBA/SDF图片及伸缩底板使用同一个时钟。动态图片继续由共同图片owner按每个实际帧去重调用,不能另开退休标签回调循环。
flush({render:true}) 仍只确认一次真实帧。观察有限淡变结束时,应在改变目标前订阅idle并等待实际事件;持续动画或资源请求也会影响idle。读取生命周期、查询或配置本身不能推进动画时钟。
DLL/SO使用现有 sqsm_map_source_json 的UTF-8 {method,args} 通道,共同getter返回JSON数值;返回缓冲区仍通过 sqsm_map_bytes_free(out.allocation) 释放。
{"method":"sqs.setLabelFadeDuration","args":[1200]}
{"method":"sqs.getLabelFadeDuration","args":[]}
历史记录最多16384组,当前、资源快照、两次捕获、完整候选和排序容器联合受8MiB元数据预算限制。旧绘制与新候选四边形合计最多65536;旧/新绘制、模板与目标几何联合最多64MiB。单个字符串要素编号最多2048字节,持续身份键最多4096字节。以上是SqsMap安全预算,不能按资源世代各开独立池;候选超限会保留原状态和画面。
完整HTML/CSS/JS及四个按钮事件 · 同一跨端脚本。完整示例含原创图形、字形资源和事件处理,需与匹配SDK的dist目录一起通过HTTP提供。
本批核心 5576072e946eb146bb77f923fa3d5adbee3b84aa,开发SDK 0.3.0-dev.5576072e。标签放置历史与碰撞淡变已通过本机公共验收:同一84项/13阶段脚本在Native、主线程、Worker各DPR1/2通过,共845个真实观察帧;包括目标查询、分组/可选组件、真实线性时钟、反向、完整样式替换,以及非零2400ms窗口下MVT父子片原身份与锚点连续性。原始C ABI16步通过;完整HTML四个实际按钮、四阶段/30帧、原始ID74点击和200ms结束静止检查通过。整合CPU与唯一最终软件Vulkan用例通过,APP原生/脚本类型、依赖边界、契约生成和必要WASM检查通过。
归档 SqsMap-SDK-0.3.0-dev.5576072e-fixed74.tar.gz:624清单文件加bundle.json,38224421字节,SHA256 b74d766d98aa3f881efdd925efedc32ff27aa8707fed94a6225529c3dadabf2c。已独立重开tar核对全部成员长度/SHA及实际Native/Android库、示例与声明。Linux动态库、核心/应用/脚本WASM及Android API24 ARM64/JNI匹配同一核心;Android仅完成构建与链接,未验收设备。中英文生产HTTP与四仓库Git同步为最后步骤;完整样式/矢量/DEM、移动GIS/iOS、手机/硬件GPU、Windows/macOS外机、正式发行和线上部署继续待办。