我正在开发使用GeoServer和ArcGIS Server端点的客户端。本质上,它是一个搜索界面,可用于切换地图图层。切换后,将请求地图图层。请求地图图层会导致大约50个网络请求所有不同的图像图块。
当所有服务器都运行时,我发现这很好。但是,如果一台服务器没有响应,则所有其他服务器的结果都会延迟到用户界面似乎没有响应的程度。
即如果我请求“第1层”,那将排队50个网络请求。浏览器一次只执行几个请求(我认为6是Chrome吗?)。因此,如果我切换2个附加层,则将50 x 2个请求排队= 100个请求。如果第二层也是来自已关闭的地图服务器,则结果是用户必须等待100个请求超时才能添加“第三层”。
已将其写出...我想解决方案是将请求卸载到Webworker或服务人员吗?如果使用服务工作者,是否可以将请求发送到单个图像以进行缓存?这样的请求的一个示例是:
https://api.atlas.saeon.ac.za/proxy/csir/RCP45_B_AveTemp_v3/MapServer/export?F=image&FORMAT=PNG32&TRANSPARENT=true&SIZE=256%2C256&BBOX=22.5%2C-33.75%2C33.75%2C-22.5&BBOXSR=4326&IMAGESR=4326&DPI=90