zoukankan      html  css  js  c++  java
  • js实现地图打印功能

    注意:js对地图的打印功能在arcgis10.1中才有提供,所以如果要使用esri自带的地图打印功能,必须使用arcgis 10.1或更高版本的地图打印模板。(由于官网和arcgis desktop提供的地图打印模板在打印地图标题时不能显示中文,所以建议自己用arcgis自定义模板,这样就能实现中文标题的打印了。)

     1 function Print(printTitle) {
     2     //var printTitle = $("#ipttitle").val();
     3     var legend = $("#Checkbox1").prop("checked");
     4     var printTask = new esri.tasks.PrintTask(printUrl);
     5 
     6     //打印模板
     7     var template = new esri.tasks.PrintTemplate();
     8     template.format = "JPG";
     9     template.label = "Portrait (Image)";
    10     //template.layout = "Letter ANSI A Landscape";    
    11     template.layout = "printtemplate";//这是本人自定义的地图模板,不是arcgis系统自带的
    12     //获取所有图层的Id
    13     var arrlegend = [];
    14     for (var j = 0; j < map.layerIds.length; j++) {
    15         var layerid = "layer" + j;
    16         arrlegend.push({ "layerId": layerid });//根据图层id,打印对应的图例
    17     }
    18     var options = {
    19         scaleBarUnit: "Miles",
    20         legendLayers: arrlegend,
    21         titleText: printTitle
    22     };
    23     if (!legend) {
    24         options.legendLayers = [];//图例数组为空时,不打印图例
    25     }
    26     template.layoutOptions = options;
    27     //打印参数
    28     var params = new esri.tasks.PrintParameters();
    29     params.map = map;
    30     params.template = template;
    31     printTask.execute(params, printResult,printError);
    32 }
    33 function printError(error) {
    34     var error = error;
    35     $("#btnPrint").removeAttr("disabled");
    36 }
    37 function printResult(result) {
    38     $("#btnPrint").removeAttr("disabled");
    39     var url = result.url;
    40     var str = "<br/>" + "<a href='" + url + "' target='_blank'>打印输出</a>";
    41     $("#PrintResult").html(str);
    42 }
    多看一行书,就少写一行代码,记录点滴,用心生活。
  • 相关阅读:
    基于风险集成 Risk-Based
    基于消息(事件)集成 Message-Based/Event-Based
    如何保证系统测试的完备性?
    1.1 功能测试(功能)
    问:给你一个网站,你如何测试?
    问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决?
    4.如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
    什么是 JavaConfig?
    Spring Boot 有哪些优点?
    .Redis中的常用命令哪些?
  • 原文地址:https://www.cnblogs.com/aegisada/p/3567199.html
Copyright © 2011-2022 走看看