首页 / 浏览问题 / 云GIS / 问题详情
mapbox加载iserver发布的rest服务,报错,崩溃
109EXP 2025年12月10日

iServer11,mapboxgl开发,参考官网示例,https://iclient.supermap.io/web/introduction/mapboxglDevelop.html#createMap,进行开发,有几个问题:

1.目前经测试,只有zxyTileImage方式可以正常引入rest地图服务,image/tileimage方式,浏览器都会报错,无法正常加载地图;

2.本地iServer发布的地图服务,数据来源MySql数据库(两万条左右线数据),桌面端制作了分段专题图,前端mapbox使用zxyTileImage方式加载地图服务,由于数据表更新频率较高,所以不能生成服务端缓存文件,关闭了iServer服务端缓存设置。在正常缩放加载几次地图后iServer会崩溃卡住,导致服务无法继续正常访问;

3.请求回来的地图服务,图片背景为白色,不透明,会遮盖底部图层;

4.以上问题,有没有什么好的解决办法,比如换其他请求方式加载地图或优化服务性能等,谢谢

2 个回答

您好,

image方式加载示例代码:

'raster-tiles': {
    type: 'raster',
    tileSize: 256,
    //iserver image资源模板;扩展支持
    "tiles": ['https://iserver.supermap.io/iserver/services/map-world/rest/maps/World/image.png?viewBounds={viewBounds}&width={width}&height={height}']
}

tileimage方式加载示例代码:

'raster-tiles': {
    type: 'raster',
    tileSize: 256,
    //iserver image资源模板;扩展支持
    "tiles": ['https://iserver.supermap.io/iserver/services/map-jingjin/rest/maps/%E4%BA%AC%E6%B4%A5%E5%9C%B0%E5%8C%BA%E5%9C%B0%E5%9B%BE/tileimage.png?scale={scale}&x={x}&y={y}&width={width}&height={height}&origin={"x":-180,"y":90}']
}

经测试这两种方式创建的source,均可作为raster图层的source添加到地图中。

关于问题2:2万条数据的地图进行动态出图加载,对于iserver来说压力比较大,可在加载服务时,监控一下iserver进程内存占用,如果比较高,可以增大jvm内存大小。具体方法:https://help.supermap.com/iServer/Install_Uninstall/SystemConfig/JVMConfig.htm

关于问题3:如果地图中是影像,可以在影像图层的属性中勾选上无值透明,这样在没有数据的区域就会透明显示。

635EXP 2025年12月11日

关于问题1:不同格式资源添加参考博客:

https://blog.csdn.net/supermapsupport/article/details/135290657

635EXP 2025年12月11日

按照上面回答的image方式和tileimage方式加载地图,浏览器会有如下报错:

您好,从报错截图上看,请求参数没有按照预定方式构建并传入url,请提供详细代码截图、您使用的iclient for mapboxgl具体版本号,方便定位问题。另外可以在官网示例中使用上述代码,测试是否复现这个问题。

线上的我也试过了,替换到里面也会报同样的错误,本地下载了最新的开发包supermap-iclient-javascript-2025u1,mapbox使用里面的1.13.2版本,也是只有zxyTileImage一种请求可以成功,image/tileimage方式浏览器依然报如上错误,代码如下:

您好,麻烦私信留言您的联系方式,我协助您远程解决此问题。
...