Más

La capa del mapa base desaparece al imprimir. Solo ocurre con el zoom máximo

La capa del mapa base desaparece al imprimir. Solo ocurre con el zoom máximo


Soy bastante nuevo en arcgis, por favor tengan paciencia conmigo.

ASUNTO:

  • Utilizo esri.dijit.Print estándar para la impresión de mapas.
  • El mapa base se muestra normalmente en el panel de mi mapa en todos los niveles de zoom.
  • La función de impresión funciona como se esperaba para todos excepto para un nivel de zoom.
  • Cuando el mapa se acerca al nivel máximo, el resultado de la impresión puede mostrar gráficos de todas las capas excepto el mapa base. Si solo se selecciona el mapa base y una sola capa de características, el resultado mostrará un mapa casi vacío con esos gráficos de características en él.
  • Sin error de javascript y respuesta satisfactoria a la tarea.
  • Intenté comparar una solicitud de impresión exitosa de otro nivel de zoom con la solicitud fallida, sin diferencia significativa excepto la extensión del mapa.

versión lib: 3.10.0

conectado a través de Lan

Solicitud: http: //xx.xx.xx.xx/arcgis/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task/execute

Parte de Web_Map_as_JSON: (tenga en cuenta que la capa "tierra" es en realidad el mapa base al que me refería en la pregunta)

"mapOptions": {"showAttribution": true, "scope": {"xmin": 829211.7728597418, "ymin": 840643.6650277233, "xmax": 829322.236622336, "ymax": 840675.9442589484, "spaceReference": {"w240kid" , "latestWkid": 2326}}, "spaceReference": {"wkid": 102140, "latestWkid": 2326}}, "operatingLayers": [{"id": "land", "title": "land", "opacity": 1, "minScale": 640000, "maxScale": 1000, "url": "http: // xxxx / MapServer"}, {"id": "basemap", "title": "basemap", "opacidad": 1, "minScale": 0, "maxScale": 0, "url": "http: // xxxx / MapServer"}

Agente de usuario: Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 537.36 (KHTML, como Gecko) Chrome / 47.0.2526.106 Safari / 537.36

¿Alguien tiene alguna idea de por dónde empezar con la depuración?


Esto podría estar sucediendo por un par de razones.

  1. La capa "land" en su ejemplo json (u otra capa que no esté en su ejemplo) podría estar dibujada en la parte superior del mapa base. La tarea de impresión ordenará las capas de acuerdo con su json. por lo tanto, si la capa terrestre es la primera en capas operativas, se dibujará encima de todas las demás capas (es como estar en la parte superior del TOC en arcmap). Dependiendo de lo que haya en las capas sobre el mapa base, podrían estar enmascarando. He visto capas que funcionan bien en arcmap o como un servicio de mapas en un mapa web, pero cuando se envían al servicio de impresión, enmascaran todo lo que hay debajo.

    Puede probar esto con bastante rapidez yendo a su punto final de impresión: http: //xx.xx.xx.xx/arcgis/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task/execute e ingresando el json de mapa web con todas las capas, excepto la capa de mapa base eliminada. Si obtiene un mapa en blanco, probablemente este no sea el problema.

  2. Stefan puede estar en el camino correcto con respecto a su conexión a Internet. Probablemente no es tu conexión a Internet, pero podría ser la del servidor de impresión. Más específicamente, podría ser un problema de seguridad o de proxy. Sin saber más sobre su configuración, no puedo estar seguro, pero la mejor manera de solucionar este problema es ver si puede ejecutar la tarea de impresión desde el servidor a través de arcmap.

    • En Arcmap 10, vaya a Cajas de herramientas -> Cajas de herramientas del sistema -> Herramientas del servidor -> Impresión -> Exportar mapa web

    • En el cuadro de diálogo Exportar mapa web, ingrese su mapa web json y otros parámetros y haga clic en Aceptar.

  3. a menos que la ventana de su navegador esté configurada exactamente con las proporciones del marco de datos en la plantilla de impresión, el servicio de impresión debe realizar ajustes en la escala del mapa o en la extensión. La opción preserveScale en la plantilla de impresión (template.preserveScale = true;) controla esto. Sin embargo, la configuración predeterminada para esto es verdadera, por lo que si no la establece explícitamente en falso en algún lugar, probablemente no sea su problema.

Hay muchas otras áreas potenciales para solucionar problemas, pero estas deberían ayudarlo a comenzar.


Tuve el mismo problema y lo resolví configurando eloutScaleopción junto conpreserveScaleen elPrintTemplatepara la tarea de impresión.

Después de enviar múltiples solicitudes a través de la interfaz REST "Ejecutar tarea (Exportar tarea de mapa web)" y ajustar la "escala" en el mapa Las opciones del mapa web como entrada JSON parece una escala dentro de 0.001 de la escala máxima para el mapa base. el mapa base de impresión en blanco, por lo que una prueba rápida con la configuraciónoutScalelogró el resultado deseado, tratando de establecer la escala del mapa directamente antes de imprimir a través deMap.setScalehizo no lograr esto cuando lo probé, ni tampoco alimentar el resultado descaleUtils.getExtentForScaleaMap.setExtenty agregar las devoluciones de llamada diferidas para activar la ejecución de la tarea de impresión.

Quería que esto se aplicara a cualquier mapa base que el mapa pudiera estar usando, así que también agregué una prueba para ver si la escala del mapa está cerca del mapa base al intentar imprimir. Código de ejemplo:

var template = new esri.tasks.PrintTemplate (); //… establecer otras propiedades de plantilla… // aumentar el outScale a +1 del maxScale del mapa base si la escala del mapa es cercana var basemap = map.getLayer ("layerIdOfYourBasemap"); if ((map.getScale () - basemap.maxScale) <1) {template.outScale = basemap.maxScale + 1; template.preserveScale = true; }

Este problema puede estar relacionado con su conexión a Internet. ¿Quizás deba esperar un poco más para que se cargue el mapa base?

Otra cosa que puede hacer es depurar su página con la consola. Para Google Chrome, puede utilizar las instrucciones de este sitio: https://developers.google.com/web/tools/chrome-devtools/debug/console/console-ui?hl=en#opening-the-console


Ver el vídeo: ΔΩΡΕΑΝ Συναλλαγές Στη Freedom 24