Skip to content

离线瓦片底图 ​

在线示例的底图读取仓库 public/tiles 目录,不依赖外部地图服务:

text
public/tiles/{z}/{x}/{reverseY}.png

当前数据采用 TMS 行号,所以模板使用 Cesium 的 {reverseY}。瓦片坐标来自 GCJ-02 地图数据,配置 crs: 'GCJ02' 后,BaseMaps 会自动应用 GCJ02TilingScheme,使 Cesium 的 WGS84 场景坐标与瓦片对齐。

组件案例 ​

js
import { BaseMaps } from 'b-map-viewer'

const baseMap = new BaseMaps.BaseMap(viewer, {
  type: 'offline',
  url: '/tiles/{z}/{x}/{reverseY}.png',
  crs: 'GCJ02',
  minimumLevel: 1,
  maximumLevel: 12,
  themeColor: '#34A4FF',
})

如果本地瓦片本身是标准 WGS84/Web Mercator 数据,可以不设置 crs,或者显式配置 crs: 'WGS84':

js
const baseMap = new BaseMaps.BaseMap(viewer, {
  type: 'offline',
  url: '/wgs84-tiles/{z}/{x}/{y}.png',
  crs: 'WGS84',
  minimumLevel: 0,
  maximumLevel: 18,
})

带请求头的内网服务 ​

token 会作为 Authorization 请求头发送:

js
const baseMap = new BaseMaps.BaseMap(viewer, {
  type: 'url-template',
  url: 'https://intranet.example.com/tiles/{z}/{x}/{y}.png',
  token: 'Bearer <access-token>',
})

离线瓦片只需要初始化一次。切换业务图层时不要重复创建底图实例,避免影像层叠加和重复请求。

基于 Apache-2.0 许可发布