dojo 要素图层不会显示在打印结果中

eoxn13cs  于 2022-12-16  发布在  Dojo
关注(0)|答案(2)|浏览(183)

salam,我打印Map时遇到问题,显示结果时发现20个要素中只有一个要素。结果不包含所有要素。我使用了esri/dijit/PrintTask

verifier: function(){ //verifier() is an onClick event of a button
var url= 'the way/arcgis/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task';
var printTask=new PrintTask(url);
var params = new PrintParameters();
params.map =this.map;
printTask.execute(params,this.printResult);
},printResult: function(event)
{
 console.log(event);
 window.open(event.url, "_blank")
}

不显示在打印结果中的要素图层是指URL不是Map服务的链接,而是连接到Map服务的Java Servlet的链接(每个Map服务一个servlet)。也许打印任务没有进行重定向,它从特征层定义的url中搜索serviceMAP,因为它是servlet的链接。我希望我说得很清楚...请有人能帮帮我!因为我不知道我需要做什么。PS:对不起我的英语,因为我比英语更新鲜。

xytpbqjk

xytpbqjk1#

我的第一个建议是将json请求添加到ArcGIS Server以使用fiddler打印任务。然后从fiddler复制json并在REST端点测试打印服务,如果它仍然出错或不打印要素层,则说明您的服务存在问题。我还想知道以下内容:
1.您是否使用代理?

  1. ArcGIS JS API的版本?
    1.您是否使用esri示例打印服务测试过相同的应用程序?
    1.服务是否安全?
    如果您还有其他问题,请告诉我。
ecr0jaav

ecr0jaav2#

我的问题是一个由要素集合对象组成的要素层没有显示在打印输出中。我的基于Url的要素层打印得很好。
我目前的解决方法是在将Map对象发送到打印服务之前移除图层的fields属性。

//Code to remove the fields property from the proper layer.
map._layers[yourLayerId].fields = undefined;

//Then your typical print task code that follows.
var params = new esri.tasks.PrintParameters();
params.map = map;
params.template = template;
....etc.

相关问题