首页 / 浏览问题 / WebGIS / 问题详情
iClient for Openlayers的Web地图打印功能相关疑问
273EXP 2025年05月15日
我们范例里的Web地图打印功能在iServer菜单栏下

我查看这个打印功能相关的说明发现这个功能的WebPrintingJobContent类里只能输入iPortal发布的webmap的url。

请问能否仿照Web地图打印范例的式样

直接将在iServer上发布,在iClient for Openlayers上显示的地图服务的当前范围打印成pdf或者png

1个回答

iServer的web打印不止支持iPortal的服务,iServer的地图也可以打印,包括临时图层、WMTS、GeoJSON数据也是支持打印的

web打印任务:https://support.supermap.com/DataWarehouse/WebDocHelp/iServer/iS/use_iserver/usewebprinting/create_printingjob.htm

图层规范:https://support.supermap.com/DataWarehouse/WebDocHelp/iPortal/iP/Appendix/WebMap/TileLayer.htm

打印临时图层:https://blog.csdn.net/supermapsupport/article/details/130488640

1,281EXP 2025年05月15日
你好,请问把iserver发布的地图加载到页面上后,

通过修改layersId修改了该地图服务各图层的显隐状态后

想要将当前页面上的地图打印的话应该如何跟上面术后的方法匹配?
可以将修改id控制显隐改成设置临时图层,然后获得图层id后用web打印
请问这是否意味着作为layer加入openlayers地图的地图服务里的数百个图层每次点选其中一个图层控制其显隐都要生成一个对应临时图层?
按照您的需求,我测试了将打印请求中的url换成下面这样,也是可以打印临时图层的:

"baseLayer": {
    "layerType": "TILE",
    "url": "http://localhost:8090/iserver/services/map-China100/rest/maps/China_4326?layersID=[0:3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,]"

},
感谢解答,我去试试
...