esri打印任务和导出Web地图之间有什么区别

问题描述 投票:1回答:3

在使用arcgis JavaScript截取当前地图的截图时,我可以看到我们有两种方法来截取屏幕截图。 I could see same question asked here

  1. 使用/导出网址 enter image description here
  2. 使用打印任务api var printTask = new esriLoader.PrintTask(PrintTaskServiceUrl); esriLoader.Config.defaults.io.proxyUrl = proxyUrl; esriLoader.Config.defaults.io.alwaysUseProxy = true; var template = new esriLoader.PrintTemplate(); template.exportOptions = { width: 1015, height: 633, dpi: 96 // if 200 ,map image will get good quality }; template.format = "JPG"; template.layout = "MAP_ONLY", template.preserveScale = false; template.showLabels = true; template.showAttribution = false; template.layoutOptions = { "legendLayers": [], // empty array means no legend "scalebarUnit": "Miles", "copyrightText": "<div>xxx</div>", } var params = new esriLoader.PrintParameters(); params.map = map; params.template = template; printTask.execute(params, success, error);

那么,这两种方法有什么区别?

javascript arcgis esri arcgis-js-api
3个回答
2
投票
  1. 是否由ArcGIS Server提供REST API以生成地图图像。
  2. 是ArcGIS JavaScript SDK中的Javascript对象。

PrintTask将使用REST api中的Export Web Map Task生成地图图像。 PrintTask提供了一种创建图像的简单方法。另一方面,如果要直接使用REST API,可以使用esri\request对象,但必须生成API所描述的所有必需参数。


1
投票

免责声明:我刚加入,没有声誉可以发表评论;因此我必须将其作为原始问题的答案发布,以下不是。

直接使用REST API是否有任何优势,反之亦然?

正如T Kambi所说,使用PrintTask(如果可用)更容易。在某些情况下直接访问Export Web Map Task REST端点可能是有益的,例如:

  • 在将请求发送到导出Web地图任务地理处理服务之前,需要修改Web_Map_as_JSON参数。例如,需要添加地图中不存在的资源,需要更改层的可见性,需要提供安全服务的令牌等。
  • 地图图像请求是从ArcGIS API for JavaScript环境外部发送的。可能没有实际的地图,只想使用ArcGIS Server功能来融合服务的图像并使用Layout Template

可以从客户端或服务器端访问“导出Web地图”任务。在后一种情况下,一种“打印任务代理”可以帮助打印安全服务;例如,在使用Long-lived Tokens的应用程序中消除了对自定义打印服务的需求。


1
投票

现在回答原来的问题。

  1. Export Map REST端点特定于MapServer服务,允许为给定范围,指定层,空间参考等生成服务图像。
  2. 最终,PrintTask向Export Web Map Task REST端点发送请求。 Export Web Map Task是一个用于生成地图图像的界面,可能有多个服务和图形,每个提供的Web_Map_as_JSON参数。它还提供了一个用布局包围地图图像的选项,该布局预定义为ArcGIS模板(存储在服务器上)。例如:

https://sampleserver6.arcgisonline.com/arcgis/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task/execute

执行后,url在提供的结果中的值是对地图图像的引用。

Export Web Map Task interface results

注意:在API发送PrintTask请求后,可以在浏览器的开发人员工具中观察到Web Map as JSON参数。在这种情况下,它取自ESRI的Print Dijit示例:(不能发布另一个链接)

© www.soinside.com 2019 - 2024. All rights reserved.