跳到主要内容

自定义协议加载图片

共同独立图片入口现在接受无凭据且含host的HTTP(S)或自定义层次地址。能力customImageLoadURLs表示核心地址与解码入口;并不保证任意宿主已经注册传输。调用仍为MapLibre风格的await map.loadImage(url),返回调用方独立拥有的RGBA8像素,不自动注册图片。

const result=await map.loadImage('memory://assets/icon.png');
map.addImage('icon',result.data);
await map.sqs.flush();

网页处理器返回PNG/JPEG/WebP编码字节,在地图所在realm通过addProtocol注册;Worker须自行注册。原生C宿主轮询Image请求,以原URI及generation/id交付字节。桌面应用的内置下载器目前只实现HTTP(S),本项未增加原生JavaScript回调注册或桌面自定义下载器。

字节、像素、8项驻留结果以及取消/迟到响应限制沿用图片加载。共同请求规划沿用自定义协议资源规划:自定义URI无HTTP重试/备用地址,默认no-store。停止脚本或销毁地图取消所属请求;处理器需响应AbortSignal,C宿主消费cancel通知。缺处理器或损坏文件应失败,不能返回假图片。

同份7项脚本与完整页面包含处理器及Worker全部安装代码;随匹配SDK目录运行。真实PNG、重复读取/独立像素、显式注册及无效URL/解码错误在本机原生持续QuickJS与浏览器主线程/Worker验收,并检查实际图标像素。模型另外覆盖取消与旧响应拒绝。Style/glyph、自定义原生JS注册、移动GIS/iOS/设备和正式发行继续其它阶段。

语法参考MapLibre loadImage和addProtocol;实现与解码由SqsMap自研核心提供。