首页 / 浏览问题 / 云GIS / 问题详情
iServer地图图层偶尔会请求成功但返回空地图的问题
260EXP 2024年05月24日
客户那边反馈了一个问题

说是登录地图页面后,点击路线图,但路线图图层无法显示

刷新页面和关闭页面重新打开也是一样的效果

但重新登录一次后就可以正常显示

使用的iServer版本是10.1.2

我这边也去试了一下,确实偶尔会出现图层无法显示的问题,控制台的network里请求都没有报错,但显示不出来的时候会返回一个没有图片的地图

和返回正常地图时相比,无法返回地图时,请求的url里scale的值会从0.000055383279861912285变成-1

返回空地图的其中一个请求的后面:

/rest/maps/RoadMap/tileImage.png?transparent=true&cacheEnabled=false&layersID=wwwn_8904_b3fce19499d7434abd03ffb6383cf849&width=256&height=256&x=16&y=74&scale=-1&redirect=false&token=GoVg160IlqDr0DzGrzzHK8Nh9GZif69gAzMAQAeE5E-u6F8uSg9hnTUQqfvuvtbqZHzp-OyYZLzfc6ew-cBZwg....&t=1716511982997&overlapDisplayed=false

返回正常地图时的其中一个请求的后面:

/rest/maps/RoadMap/tileImage.png?transparent=true&cacheEnabled=false&layersID=wwwn_8904_0cf11cd60f3f4791afcfdaa65f68806a&width=256&height=256&x=16&y=74&scale=0.000055383279861912285&redirect=false&token=GoVg160IlqDr0DzGrzzHK8Nh9GZif69gAzMAQAeE5E-u6F8uSg9hnTUQqfvuvtbqZHzp-OyYZLzfc6ew-cBZwg....&t=1716511629520&overlapDisplayed=false

请问这个问题为什么会发生,然后应该如何解决

1个回答

您好,方便用最新版的10.2.1或者11.1.1做下测试,看该问题是否仍能复现,如果仍能复现麻烦您提供一下上述操作的相关接口我这边测试下,希望能够帮到您
280EXP 2024年05月24日
您好,客户那边的iserver版本是不能随意更改的,印象里以前出现过类似的问题但没有解决掉,然后10.2.1应该也可以再现
我这边使用的是iClient classic添加的图层
roadLayer = new SuperMap.Layer.TiledDynamicRESTLayer(
        "RoadMap",
        roadUrl,
        {
            transparent: true,
            cacheEnabled: false
        },
        {
            maxResolution: "auto",
            bufferImgCount: 0
            //maxExtent: new SuperMap.Bounds(15382151, 4186789, 15488374, 4296731),
            //projection: "EPSG:3857"
        }
    );

然后通过以下代码设置roadmap的每一个图层的显隐
var setLayerStatusParameters = new SuperMap.REST.SetLayerStatusParameters({
                layerStatusList: layersStatus
            });
            var setLayerStatusService = new SuperMap.REST.SetLayerStatusService(roadUrl, {
                eventListeners: { "processCompleted": setLayerCompleted }
            });
            setLayerStatusService.processAsync(setLayerStatusParameters);
已私信您新包以解决该问题,麻烦您那边用新包测试一下
感谢解答,但iserver已经配置到用户那边了,请问在不替换整个iserver的前提下,能否通过替换特定包来实现解决这个缺陷的问题

您好,目前最新的iserver10.2.1在功能上相对10.1.2做了很多功能上的完善,暂时无法实现仅更改某特定包,解决缺陷,此外,您可以使用备份与迁移功能简单快速的将旧包相关内容移动到新包https://blog.csdn.net/supermapsupport/article/details/126296927

感谢解答
您好,我这边向顾客提议将iServer10.1.2升级到10.2.1获得顾客同意后,周末进行了iServer的升级

但今天早上顾客发邮件过来说地图还是会无法显示。

我这边用自己的浏览器在网页上进行了确认,无法再现这个问题。

请问10.2.1还是会有这个问题吗?
您好,目前猜测是客户那边的缓存问题,暂时应该是没有问题了,感谢解答
您好,将iServer升级成10.2.1后发现地图无法显示,请求中scale=-1的问题依然存在,升级并无法解决这个问题
暂时无法复现缺陷,待下次缺陷重现后解决
...