共同自定义协议规划与瓦片
共同资源规划现在接受HTTP(S)和合法自定义协议的绝对层次化地址,保留真实URI。能力标志customResourcePolicyPlans为true;计划只读,不注册处理器或执行IO。
const plan = await map.sqs.resources.plan({
url:'memory://tiles/0/0/0.png',resourceType:'Tile',maxBytes:4096
});
// 原地址、期限、字节/并发预算;retries为0,cache为no-store。
map.addSource('tiles',{type:'raster',
tiles:['memory://tiles/{z}/{x}/{y}.png'],tileSize:256});
map.addLayer({id:'imagery',type:'raster',source:'tiles'});
共同vector/raster/raster-dem的tiles模板与setTiles支持同一地址校验。Style URL、glyph和独立loadImage入口仍保持原范围;TileJSON/GeoJSON/图片/视频源入口已由13.6c扩展;不能把本阶段理解成所有地址入口都已放开。地址必须含host且不含凭据;协议名1~32字符、字母开头、数字/加号/点/连字符,保留HTTP/WebSocket/本地/执行类名称不得覆盖。
自定义计划保留总期限、单次期限、并发与字节限额;retryOn均为false、retries/retryDelayMs为0、cache为no-store,不自动套用HTTP重试/备用地址,避免重复外部副作用。处理器自行管理内部网络、缓存和授权。普通HTTP请求保留原策略。SDK实际执行使用捕获计划的缓存/重试参数。
网页独立SDK在相同JavaScript realm用addProtocol注册处理器。主线程函数不会自动传入Worker;Worker宿主须在调用serveMapWorker之前自行注册,同一Worker中的地图与协议共用注册表。工作台sqsraster已移除占位HTTPS规划,直接使用核心规划;空间引擎仍由宿主连接,不进入地图核心。
原生C宿主轮询原有资源请求,读取requestPlan,按真实协议交付编码字节,再经既有resource_response回传generation/id;预算、旧代取消与解码流程不变。原生QuickJS/共同脚本目前仍没有addProtocol函数回调注册,不代表三端函数传递已实现。
共同脚本含相同九项原生/主线程/Worker检查;实际页面显示自定义PNG瓦片。原生C及浏览器有实际红像素证据;移动GIS/iOS、设备与正式发行另行验收。所有UI、协议数据来源和版权由使用方按实际数据提供。
13.6c已接通GeoJSON、TileJSON和配准图片/视频源的自定义URI及URL更新,保留原解码/取消/身份规则,见图源协议。Style/glyph/loadImage/实时协议入口继续各自范围。
原生持续脚本回调已接通;应用共同脚本的跨Worker回调转发和默认桌面下载器仍分列待办。