本文主要是介绍arcgis for javascript 地图打印4.19,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在vue中使用arcgis for javascript 的地图打印使用 PrintTemplate设置打印模板
loadModules(["esri/tasks/PrintTask","esri/tasks/support/PrintTemplate","esri/tasks/support/PrintParameters",], {url:'',css:''}).then(([PrintTask, PrintTemplate, PrintParameters]) => {let webmap = new WebMap({portalItem: {id: "d6d830a7184f4971b8a2f42cd774d9a7"}});let view = new MapView({container: "viewDiv",map: webmap});let printTask = new PrintTask({url: "https://utility.arcgisonline.com/arcgis/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task"});let template = new PrintTemplate({exportOptions: {dpi: 96,},attributionVisible:false,format: "jpg",layout: "a3-landscape",preserveScale: false,scalePreserved: true,//打印地图保留地图比例还是地图范围比例layoutOptions:{},});let params = new PrintParameters({view:view,template: template});printTask.execute(params).then(result, errorResult);function result(evt) {console.log(evt.url)//打印图片地址}function errorResult(err) {console.log(err)}})
PrintTemplate
用户生成打印页面的布局模板选项
名称 类型 说明 attributionVisible Boolean 如果为false,则属性不会显示在打印输出上 exportOptions Object 定义贴图宽度、高度和dpi forceFeatureAttributes Boolean 如果为true,则要素的属性将包含在要素集合层中,即使渲染不需要这些属性 format String 打印地图的输出格式
pdf、png32、png8、jpg、gif、eps、svg、svgz
layout String 当值为
map-only
或为空时,输出地图不包含任何页面布局环境(例如,标题、图例、比例尺等)。打印服务提供在可能值中列出的开箱即用模板。服务器管理员可以向打印服务添加其他模板layoutOptions Object 布局 outScale Number 打印地图的可选地图比例 scalePreserved Boolean 定义打印的地图应保留地图比例还是地图范围 showLabels Boolean 如果为true,则标签将显示在布局上
layoutOptions 定义布局元素
名称 类型 说明 titleText String 标题文本元素,则用于地图标题的文本 authorText String 作者文本元素,则为作者使用的文本 copyrightText String 版权文本元素,则用于版权的文本 scalebarUnit String 比例尺单位:默认:Miles;
Miles(英里)、Kilometers(公里)、Kilometers(米)、Feet(英尺)
legendLayers [] 如果打印不需要图例 legendLayers =[] customTextElements [] 页面布局上自定义文本元素的文本,值必须是字符串,自定义文本元素必须存在于打印服务中 如果打印图例出现乱码问题或者地图标注中文问题,设置字体为宋体或者其他字体
参考一下链接解决中文乱码问题:
https://www.pianshen.com/article/25991065688/
这篇关于arcgis for javascript 地图打印4.19的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!