<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Printing map with ArcGIS JS API is not correct scale in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/printing-map-with-arcgis-js-api-is-not-correct/m-p/272466#M25131</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have some code I've written to allow users to print a map.&amp;nbsp; When the map is printed it is printed at a scale that is not the same as the current map Scale. Here is the code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV&gt;function doprintclck() {&lt;BR /&gt;&amp;nbsp;var incleg;&lt;BR /&gt;&amp;nbsp;var tst = $('#legchkbox').prop('checked');&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;//Set incleg variable based on checked property of legchkbox.&amp;nbsp; This is used to add or hide legend &lt;BR /&gt;&amp;nbsp;if ($('#legchkbox').prop('checked')) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;incleg = true;&lt;BR /&gt;&amp;nbsp;}else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;incleg = false;&lt;BR /&gt;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;var sctxt = $('#inptscale').val();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;//Test to see if it is a number&lt;BR /&gt;&amp;nbsp;//TODO Put this into an input function for the input box&lt;BR /&gt;&amp;nbsp;//if (isNaN(Number(sctxt))) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;//var sc = Math.round(map.getScale() / 12);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;//$('#inptscale').val(sc);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;//return;&lt;BR /&gt;//&amp;nbsp;} &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;//Get Scale from input box as RF&lt;BR /&gt;&amp;nbsp;var outscale = $('#inptscale').val() * 12;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;//Create Print Map&lt;BR /&gt;&amp;nbsp;createprintmap(incleg, outscale);&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;function createprintmap(leg, scl) {&lt;BR /&gt;&amp;nbsp;console.log(leg, scl);&lt;BR /&gt;&amp;nbsp;require(["esri/tasks/PrintTemplate",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/tasks/PrintParameters",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/tasks/PrintTask",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/SpatialReference",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/tasks/LegendLayer"&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;], function(PrintTemplate, PrintParameters, PrintTask, SpatialReference, LegendLayer) { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var urlToThePrintServer = "https://qbygis.queensbury.net/arcgis/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Create map title&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var mTitle;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ptitle !== "") {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mTitle = "Parcel ID: " + ptitle + " Vicinity Map";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(mTitle);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mTitle = "Queensbury Vicinity Map";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Get visible layers to add to legend&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var legitems = getLegLyrs();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; //Create Print Template&lt;BR /&gt;&amp;nbsp;&amp;nbsp; var pt = new PrintTemplate();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; //Create Map Legend &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; var ll = new LegendLayer();&lt;BR /&gt;&amp;nbsp;&amp;nbsp; ll.layerId = "layer2";&lt;BR /&gt;&amp;nbsp;&amp;nbsp; //if include legend not checked show no legend&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if(leg != true) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ll.subLayerIds = [{}];&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }else{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ll.subLayerIds = legitems;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; //Set Print Template Options&lt;BR /&gt;&amp;nbsp;&amp;nbsp; pt.layoutOptions = {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; titleText: mTitle, //"Title",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; copyrightText: "Map Produced by Queensbury GIS.&amp;nbsp; Map is for General Reference Purposes Only",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; scalebarUnit: "Feet",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; legendLayers: [ll] &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pt.format = 'pdf';&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pt.layout = 'Letter ANSI A Portrait';&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pt.preserveScale = true;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Set Scale Here&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pt.outScale = Number(scl);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(pt.outScale);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //var sr = new SpatialReference(2260);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //var sr = new SpatialReference(3857);&amp;nbsp; //map.spatialReference);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var params = new PrintParameters();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; params.map = map;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; params.outSpatialReference = map.spatialReference;&amp;nbsp;&amp;nbsp; //new SpatialReference(102100);&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; params.template = pt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var printTask = new PrintTask(urlToThePrintServer);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printTask.on("error", function(error) { alert(error.code)});&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printTask.on("complete", openprintmap);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printTask.execute(params);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;});&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Any help is greatly appreciated!&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;George Hilton&lt;/DIV&gt;&lt;DIV&gt;Town of Queensbury, NY&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 May 2019 17:57:31 GMT</pubDate>
    <dc:creator>GeorgeHilton__GISP</dc:creator>
    <dc:date>2019-05-16T17:57:31Z</dc:date>
    <item>
      <title>Printing map with ArcGIS JS API is not correct scale</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/printing-map-with-arcgis-js-api-is-not-correct/m-p/272466#M25131</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have some code I've written to allow users to print a map.&amp;nbsp; When the map is printed it is printed at a scale that is not the same as the current map Scale. Here is the code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV&gt;function doprintclck() {&lt;BR /&gt;&amp;nbsp;var incleg;&lt;BR /&gt;&amp;nbsp;var tst = $('#legchkbox').prop('checked');&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;//Set incleg variable based on checked property of legchkbox.&amp;nbsp; This is used to add or hide legend &lt;BR /&gt;&amp;nbsp;if ($('#legchkbox').prop('checked')) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;incleg = true;&lt;BR /&gt;&amp;nbsp;}else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;incleg = false;&lt;BR /&gt;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;var sctxt = $('#inptscale').val();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;//Test to see if it is a number&lt;BR /&gt;&amp;nbsp;//TODO Put this into an input function for the input box&lt;BR /&gt;&amp;nbsp;//if (isNaN(Number(sctxt))) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;//var sc = Math.round(map.getScale() / 12);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;//$('#inptscale').val(sc);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;//return;&lt;BR /&gt;//&amp;nbsp;} &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;//Get Scale from input box as RF&lt;BR /&gt;&amp;nbsp;var outscale = $('#inptscale').val() * 12;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;//Create Print Map&lt;BR /&gt;&amp;nbsp;createprintmap(incleg, outscale);&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;function createprintmap(leg, scl) {&lt;BR /&gt;&amp;nbsp;console.log(leg, scl);&lt;BR /&gt;&amp;nbsp;require(["esri/tasks/PrintTemplate",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/tasks/PrintParameters",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/tasks/PrintTask",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/SpatialReference",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "esri/tasks/LegendLayer"&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;], function(PrintTemplate, PrintParameters, PrintTask, SpatialReference, LegendLayer) { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var urlToThePrintServer = "https://qbygis.queensbury.net/arcgis/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Create map title&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var mTitle;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ptitle !== "") {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mTitle = "Parcel ID: " + ptitle + " Vicinity Map";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(mTitle);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mTitle = "Queensbury Vicinity Map";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Get visible layers to add to legend&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var legitems = getLegLyrs();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; //Create Print Template&lt;BR /&gt;&amp;nbsp;&amp;nbsp; var pt = new PrintTemplate();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; //Create Map Legend &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; var ll = new LegendLayer();&lt;BR /&gt;&amp;nbsp;&amp;nbsp; ll.layerId = "layer2";&lt;BR /&gt;&amp;nbsp;&amp;nbsp; //if include legend not checked show no legend&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if(leg != true) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ll.subLayerIds = [{}];&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }else{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ll.subLayerIds = legitems;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; //Set Print Template Options&lt;BR /&gt;&amp;nbsp;&amp;nbsp; pt.layoutOptions = {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; titleText: mTitle, //"Title",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; copyrightText: "Map Produced by Queensbury GIS.&amp;nbsp; Map is for General Reference Purposes Only",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; scalebarUnit: "Feet",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; legendLayers: [ll] &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pt.format = 'pdf';&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pt.layout = 'Letter ANSI A Portrait';&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pt.preserveScale = true;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Set Scale Here&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pt.outScale = Number(scl);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(pt.outScale);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //var sr = new SpatialReference(2260);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //var sr = new SpatialReference(3857);&amp;nbsp; //map.spatialReference);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var params = new PrintParameters();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; params.map = map;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; params.outSpatialReference = map.spatialReference;&amp;nbsp;&amp;nbsp; //new SpatialReference(102100);&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; params.template = pt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var printTask = new PrintTask(urlToThePrintServer);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printTask.on("error", function(error) { alert(error.code)});&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printTask.on("complete", openprintmap);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printTask.execute(params);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;});&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Any help is greatly appreciated!&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;George Hilton&lt;/DIV&gt;&lt;DIV&gt;Town of Queensbury, NY&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 May 2019 17:57:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/printing-map-with-arcgis-js-api-is-not-correct/m-p/272466#M25131</guid>
      <dc:creator>GeorgeHilton__GISP</dc:creator>
      <dc:date>2019-05-16T17:57:31Z</dc:date>
    </item>
  </channel>
</rss>

