Loading [MathJax]/extensions/TeX/mathchoice.js

7 votos

Se puede dinámicamente establecer las opciones de impresión para el uso de ArcGIS API de JS?

Me gustaría crear una opción en mi aplicación web, donde el usuario puede hacer clic en un botón de impresión y una lista de opciones que aparece:

  1. Plantilla de página (ya disponible a través de esri.dijit.print)
  2. Mapa De Título
  3. Notas o Texto Personalizado

Nº 1 es conocido por estar disponibles, pero no puedo encontrar ningún buen recurso sobre cómo ser capaz de cambiar dinámicamente estos insumos. Alguna idea?

El código que estoy trabajando con:

    dojo.require("esri.dijit.Print");

function initPrinter() {

    var printTemplates = [{
        label: "Map Only",
        format: "png32",
        layout: "MAP_ONLY",
        exportOptions: {
          width: map.width,
          height: map.height,
          dpi: 96
        }
      }, {
        label: "Portrait",
        format: "PDF",
        layout: "Letter ANSI A Portrait",
        layoutOptions: {
          titleText: "my layout",
          authorText: "GIS Team",
          copyrightText: "Copyright 2013",
          scalebarUnit: "Miles"
        }
        }, {
        label: "Landscape",
        format: "PDF",
        layout: "Letter ANSI A Landscape",
        layoutOptions: {
            titleText: "my layout",
            authorText: GIS Team",
            copyrightText: "Copyright 2013",
            scalebarUnit: "Miles"
            }
      }];

    // print dijit
    var printer = new esri.dijit.Print({
        map: map,
        templates: printTemplates,
        url: "path/to/my/Export%20Web%20Map%20Task"
        }, dojo.byId("printButtonDiv"));            

    printer.startup();

}

5voto

Paul Hargreaves Puntos 1022

Utilizando este ejemplo... http://help.arcgis.com/en/webapi/javascript/arcgis/jssamples/widget_print_esri_request.html

En lugar de llamar a la solicitud de printInfo y, a continuación, handlePrintInfo en el inicio. Crear algunas áreas de entrada en el html, donde el usuario puede introducir los valores y el botón de enviar. Instalación de un controlador de eventos para el evento onclick del botón.

Después de que el onclick, a continuación, llamar a la handlePrintInfo y utilizar el área de entrada de valores a la hora de crear la plantilla. Si usted desea, usted todavía puede obtener printInfo en el inicio, simplemente guardarlo en una variable fuera de init (), de modo que está listo para usted.

// get print templates from the export web map task
function init() {
    var printInfo = esri.request({
      "url": app.printUrl,
      "content": { "f": "json" }
    });
    printInfo.then(handlePrintInfo, handleError);
}

function handlePrintInfo(resp) {...

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X