首页 / 浏览问题 / WebGIS / 问题详情
tiledMapLayer url 的服务报500 怎么监听并且提示
1EXP 2022年11月14日
L.supermap.tiledMapLayer url 的服务报500 怎么监听并且提示错误呢

2 个回答

服务报500表示服务器端发生非预期情况,导致请求没有完成,您可以将url地址贴到浏览器地址栏中,尝试访问。

以及去掉url最后一级,地图名。以rest结尾尝试访问,类似这样,https://iserver.supermap.io/iserver/services/map-world/rest

在该页面上进行for leaflet预览。

看是否能正常预览。
420EXP 2022年11月14日
你好

L.supermap.tiledMapLayer(this.chinaMapUrl).addTo(this.$iClientMap)

this.chinaMapUrl   这个服务正常的时候,地图是正常加载的,在netWork中可以看到是多个png的链接

现在遇到的问题是当 this.chinaMapUrl   这个服务不正常,netWork中对应的多个 png 链接报500,这个时候有什么方法加个提示,提示服务出错呢
这个针对L.supermap.tiledMapLayer方法做改动会有点麻烦,您可以考虑逻辑为针对服务地址做几个测试请求,比如请求全幅图片,响应为200,201,304即为正常,其他响应可以走抛出异常且不加载L.supermap.tiledMapLayer的流程。
L.supermap.imageMapLayer(this.chinaMapUrl).addTo(this.$iClientMap)

imageMapLayer  使用这个方法加载 图片是整张的,但是也只是图片有碎片图转为整张图片,假如地图服务报错并不能监听到,

tiledMapLayer  imageMapLayer 有回调方法吗,比如加载的地图报错了,给个回调方法前端来加报错提示
没有,一般地图服务都很稳定,这块儿一般是从iServer角度考虑解决的,是有什么需求么?
项目里用的地图服务是公用的,前两天总是报错,图片链接报500,页面上没有显示地图,需求上希望在地图服务出错时,页面弹出 提示信息
这块儿需要自行实现,对地图服务地址发送测试请求,监听返回。

你好,请问你的这个地图服务在iserver里面预览查看是正常的吗?把url地址放到官网示例demo(https://iclient.supermap.io/examples/leaflet/editor.html#01_tiledMapLayer4326)加载能否正常出图呢?可以查看当调用出现500报错时,iserver日志是否记录可用的报错信息呢?

3,705EXP 2022年11月14日
你好

L.supermap.tiledMapLayer(this.chinaMapUrl).addTo(this.$iClientMap)

this.chinaMapUrl   这个服务正常的时候,地图是正常加载的,在netWork中可以看到是多个png的链接

现在遇到的问题是当 this.chinaMapUrl   这个服务不正常,netWork中对应的多个 png 链接报500,这个时候有什么方法加个提示,提示服务出错呢

您好,是可以监听服务加载失败的,之前了解的不够,可以监听L.Girdlayer的tileerror事件,tiledMapLayer是从该类继承来的。

https://leafletjs.com/reference.html#gridlayer

参考API见以上地址,之前回答不到位,不好意思。

希望能帮到您。

...