arcgis js 地图打印_arcgis api for javascript 学习(六) 地图打印

1、本文应用arcgis api for javascript对发布的动态地图进行打印,打印的为PDF格式,打印出来如图:

2、需要特别注意的是:我们在运行代码前,需要打开PrintingTools,如图

3、并且在启动后,在URL中,需要修改一下,如图:

4、运行代码,点击打印如图:

5、代码部分:

地图打印

#map{

position:relative;

height:500px;

width:100%;

}

var map,sr,bool = false,initextent,url;

require([

"esri/map",

"esri/layers/MapImage",

"esri/layers/MapImageLayer",

"esri/geometry/Extent",

"esri/SpatialReference",

"esri/tasks/PrintTask",

"esri/tasks/PrintTemplate",

"esri/tasks/PrintParameters",

"esri/layers/ArcGISDynamicMapServiceLayer",

"dojo/domReady!"],

function (

Map,

MapImage,

MapImageLayer,

Extent,

SpatialReference,

PrintTask,

PrintTemplate,

PrintParameters,

ArcGISDynamicMapServiceLayer) {

sr = new SpatialReference(4326)

map = new Map("map", {

basemap:"satellite"

});

//调用动态地图服务

var DyLayer=new ArcGISDynamicMapServiceLayer('http://localhost:6080/arcgis/rest/services/dtchina/MapServer');

map.addLayer(DyLayer);

var btn=document.getElementById("Btn");

btn.οnclick=function(){

btn.setAttribute("disabled","true");

btn.value="正在输出...";

var printMap = new PrintTask("http://localhost:6080/arcgis/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task");

//创建地图打印模版

var template = new PrintTemplate();

var params = new PrintParameters();

//输出图片的空间参考

printMap.outSpatialReference = map.SpatialReference

//打印图片的各种参数

template.exportOptions = {

width: 850,

height: 650,

dpi: 96

};

template.format = "PDF";

template.layout = "MAP_ONLY";

params.map = map;

params.template = template;

printMap.execute(params, function(result){

console.log(result);

if (result != null) {

(function(){

btn.disabled=false;

btn.value="打印地图PDF";

})()

window.open(result.url);

}

})

}

});


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部