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 }
    多看一行书,就少写一行代码,记录点滴,用心生活。
  • 相关阅读:
    朴灵:基于MongoDB与NodeJS构建物联网系统
    平均年薪40万!为什么却很少见程序员炫富?
    写春联、变魔术、模仿马云唱歌_为你揭秘阿里云人工智能ET背后的技术
    Mysql查询性能优化-善用Explain语句
    numpy linspace arange函数
    vim笔记
    redis压缩列表
    tensorflow笔记之反向传播时用到的几种方法
    损失函数
    kafka 修改partition,删除topic,查询offset
  • 原文地址:https://www.cnblogs.com/aegisada/p/3567199.html
Copyright © 2011-2022 走看看