You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用ol-MapBox-Style为ArcGIS Server本地矢量瓦片设置样式的问题

olms加载本地部署ArcGIS Server矢量瓦片解决方案

核心思路

不要修改服务器上原始的root.json文件(会破坏ArcGIS JS API、原生OpenLayers加载逻辑),改为前端请求原始样式后做临时字段修正再传入olms。

具体操作步骤

  • 第一步:前端请求原始样式文件时手动加?f=json参数,确保拿到JSON格式响应
  • 第二步:手动修正样式JSON的以下字段,再传给olms使用:
    1. 补全sources.esri.url字段为完整矢量瓦片服务地址,不要带?f=json后缀
    2. 新增sources.esri.tiles字段,值为服务的瓦片地址模板:https://bragdev3.gis.dk/arcgis/rest/services/Hosted/Plandistrikter2/VectorTileServer/tile/{z}/{y}/{x}.pbf
    3. 将sprite和glyphs的相对路径补为绝对路径,避免olms路径解析错误
  • 第三步:适配EPSG:25832自定义投影
    1. 提前通过proj4注册EPSG:25832投影
    2. 定义和ArcGIS Server发布时完全一致的tileGrid(包含原点、分辨率数组、对应缩放级别)
    3. 调用olms时传入自定义投影配置,确保瓦片的坐标转换、加载层级匹配
  • 第四步:sprite报错处理
    如果出现"No sprites found."错误,可直接将sprite的png、json资源下载到本地项目,将样式中sprite字段替换为本地资源路径即可。

验证逻辑

修改后的样式仅在当前olms加载逻辑中使用,不会修改服务器原始资源,不影响其他端的服务调用,可同时兼容原生OpenLayers加载、ArcGIS JS API加载的场景。

内容的提问来源于stack exchange,提问作者lars

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 16:54:06