ArcGIS Server 10.2 打印服务

下面整理一下ArcGIS Server 10.2 打印服务的使用方法即出现问题供学习交流。
ArcGIS Server 10.1 将 封装了地图服务供服务器端生成地图使用。配有多个模板,十分方便。

1、打开服务

如何打开服务即进入ArcGIS Server manager 在Utilities 中将PrintingTools服务打开即可。
他的主要原理是通过map对象以及template对象 准备请求由服务器端生成地图服务支持的格式等在文档中有介绍。
前端实现打印服务主要是两条路一条是“esri/dijit/Print”了另外一条是 "esri/task/printtask"print模块其实是使用了printtask 并对其进行了封装。大家分析源码就可以发现。

2、如何使用

如图第一部分是我发现的一个问题,也就是你在map生成时已经在Extent中定义了一个spatialreference 但是 你使用map.spatialreference对象为未定义所以在生成时要先检查
第二个部分使用printtask生成对象记住suburl是地图打印服务的地址。
第三部分也就是地图的模板 这个模板是针对地图布局边框等有关于核心内容无关。

第二张图 第一部分是图例对象用于展示地图中的图例layerid就是地图的图层的ID。
第二部分 exportoptions 是地图的导出设置宽度 高度 以及dpi
第四部分是地图的模板对象包括名字 格式 标记(如果有前端空间为显示前端空间的名字)
还有 布局设置 (这个参考文档就可以了 legendlayers 是图例图层)

最后用地图打印参数将地图对象模板对象以及输出空间参考设置 带入printtask中 执行返回的对象就是 打印的结果。

3、问题

在研究地图打印服务的时候主要的问题有
1.map.spatialreference 对象为undifined的问题导致包括b.spatialrefenence为空,解决方法已经说了。

2、当参数调试成功之后地图为空白内容原因为 当我地图加载之后立刻调用执行函数导致地图参数没有完全生成,导致地图没有内容。解决方案,最快也要地图加载完毕执行。

3、使用天地图瓦片做地图地图打印底图空白。原因为目前地图打印服务只支持ArcGISTiledMapServiceLayer(这个是看ArcGIS知乎上的一个人说的还需要论证)。

上图为输出结果
地图输出是可以用各种模板的,另外如果汉字出不来请进入模板将所有的字体图标 比例尺 图例等字体替换为微软雅黑。
工作API3.19 ArcGIS Server10.2



  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值