标准样式矢量瓦片源
样式 sources 中的 vector 可以写 url 或 tiles。内联 tiles 直接发起瓦片请求,无须另外创建 TileJSON 服务。以下是可保存为样式 JSON 的形状;瓦片地址和 source-layer 须换成实际数据提供方的值。
{
"version": 8,
"sources": {
"roads": {
"type": "vector",
"tiles": ["https://tiles.example.com/{z}/{x}/{y}.pbf"],
"scheme": "xyz",
"minzoom": 0,
"maxzoom": 14,
"bounds": [-180, -85, 180, 85],
"attribution": "© 数据提供方"
}
},
"layers": [{
"id": "roads", "type": "line", "source": "roads", "source-layer": "transportation",
"paint": {"line-color": "#426f93", "line-width": 2}
}]
}
共同脚本加载已托管的 JSON:
// @gis-api 0.5-session
// @permissions ["project.read", "map.write"]
import { map } from 'sqsmap';
map.setStyle('https://your-site.example/style.json', { diff: false });
await map.sqs.flush();
console.log(await map.sqs.getCapabilities());
console.log(await map.sqs.getAttributions());
flush() 确认命令应用,不表示瓦片下载已完成。原始网页 SDK 使用 MapView、view.flush()、view.sqs.getCapabilities() 和 view.getAttributions()。原生动态库沿用 sqsm_map_set_style_json:{"style":"https://your-site.example/style.json","options":{"diff":false}};宿主读取资源请求、按 resource.maxBytes 有界下载并返回响应。核心不包含 HTTP 客户端。
模板、范围和覆盖参数
url与tiles互斥;模板为1–8条,每条最多8192字节,必须含{z}、{x}、{y}。相对模板以样式或 TileJSON 地址解析,保留查询参数。不同模板按规范化的 XYZ 列/行确定分配,世界副本使用相同资源。scheme: "tms"反转实际请求行号;内部几何与缓存仍为 XYZ。不要手写{-y},使用scheme。其他动态占位符、MLT、promoteId、volatile: true尚未接通,会明确拒绝;encoding: "mvt"和volatile: false可用。minzoom/maxzoom为0–24的整数,默认为0/22。低于最小级别不请求或绘制;高于最大级别使用既有 overzoom。小数、负值或超限值不会截断或回绕。bounds为[west, south, east, north],经度正负180、纬度正负90;可用 west 大于 east 表示跨日期变更线。无相交瓦片不请求、不绘制,也不阻塞就绪。范围只筛选瓦片,不裁剪瓦片内部几何。- 使用
url获取 TileJSON 时,样式显式的级别、bounds 和 scheme 优先。远端参数仍完整验证;无效元数据不改动先前模板、级别、范围或署名。沿用既有署名规则:非空 TileJSON 署名替换该源署名,不影响根样式或其他源。
相同覆盖与地址分配用于主线程、Worker、原生地图和桌面离线包。浏览器检查“新样式已就绪”时还须确认资源生成代已变化,避免读取旧 ready 状态。
能力与范围
map.sqs.getCapabilities() 的 styleVectorInlineTiles/styleVectorSourceTms/styleVectorSourceBounds/styleVectorSourceOverrides 为真。vectorTileSourceStore 为假:这里是样式源;共同 map.addSource/getSource/removeSource 的矢量瓦片生命周期仍待接入。styleRasterSources 为假,影像及 DEM 样式源仍继续实现。setStyle 当前接受 URL 或 null,内联样式对象和 diff:true 尚待完成。
完整 HTML/CSS 和全部按钮可显示来源、切换视图及验证源覆盖。默认使用 SqsMap 托管的 OpenFreeMap 兼容样式,附 OpenFreeMap/OpenMapTiles/OpenStreetMap 链接;可填自己的样式地址。复制独立 HTML 时须使用已经部署的匹配 SDK 地址,或将 sdk 参数指向本机预览版本。本地构建通过不表示远端已部署。
本阶段通过真实原生资源队列与五帧软件 GPU、网页主线程/严格 Worker 请求与十二帧实际画面、四宿主同一只读脚本及既有 OpenFreeMap 编译回归。Windows/macOS、移动宿主和正式发行另行验收。
共同瓦片URL模板补充quadkey、bbox、prefix、ratio及实际密度切换;本文原批次证明保留,完整图源参数仍另列待办。
有效瓦片元数据说明当前显式覆盖、实际尺寸/DEM编码,以及刷新等待和失败的数据保留;本文早期证明不重标版本。