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 }
    多看一行书,就少写一行代码,记录点滴,用心生活。
  • 相关阅读:
    数据库客户端工具Oracle SQL Developer
    Win7系统下搭建FTP
    Apache 中httpd.conf文件配置详解(转载)
    Apache启动报错Address already in use: make_sock: could not bind to...
    QTP如何准确识别Dialog中的对象
    【Apache系列】linux下Apache的常用操作
    【Apache系列】Windows下作为应用程序运行Apache
    【QTP专题】05_参数化之Excel
    CSS伪类before,after制作左右横线中间文字效果
    干货!所有常用的原型设计工具都在这里了
  • 原文地址:https://www.cnblogs.com/aegisada/p/3567199.html
Copyright © 2011-2022 走看看