AnsweredAssumed Answered

PrintTask/PrintParameters bug?

Question asked by TimSparq on Apr 7, 2014
Latest reply on Oct 23, 2014 by fischpet
I have a site with two cached map services and one dynamic service.

When I add my dynamic layer to my map, I call .setVisibleLayers([ ... ]) to set my desired layers. One of the layers is a group layer, the others are in the "root" level. I pass the "group" level id to .setVisibleLayers([ ... ]) for the group layer as I want all layers in that group visible.

I've created a "print" function which is called from a button onclick which executes a simple PrintTask.

function printMap() {
 require(["esri/tasks/PrintTask", "esri/tasks/PrintParameters", "esri/tasks/PrintTemplate"], 
   function(PrintTask, PrintParameters, PrintTemplate){
    var url = "http://gisapps/arcgis/rest/services/Utilities/PrintingTools/GPServer/Export Web Map Task";
    var template = new PrintTemplate();
    template.layoutOptions = {
      titleText: "Selected Work",
      legendLayers: []
    template.format = "PDF";
    template.layout = "A4 Landscape";
    template.exportOptions = {
      width: 1024,
      height: 786,
      dpi: 96

    var params = new PrintParameters();
    params.template = template; = map;
    var printTask = new PrintTask(url);
    printTask.execute(params, function(results){;

When I execute this PrintTask, the grouped layers in my dynamic service do not appear in the output - the other layers do.

If instead of supplying the group layer id to .setVisibleLayers[ ... ]) I supply the individual layer ids, they then appear in the PrintTask output.

I'm fairly sure this is a bug, because it would seem a bit strange that supplying the group layer id to .setVisibleLayers() would result in all layers in the group becoming visible in the map, but not the output of the PrintTask.