2014-11-12 5 views
1

살람, 지도를 인쇄 할 때 문제가 발생합니다. 그 결과를 표시 할 때 20 가지 중 하나만 발견됩니다. 결과에는 모든 기능이 포함되어 있지 않습니다. 나는 URL이지도 서비스의 링크하지만 연결할 자바 서블릿에 대한 링크가없는 곳이 사람들이, 인쇄 결과에 표시하지 않는 ESRI /는 Dijit/PrintTask기능 레이어가 인쇄 결과에 나타나지 않습니다.

verifier: function(){ //verifier() is an onClick event of a button 
var url= 'the way/arcgis/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task'; 
var printTask=new PrintTask(url); 
var params = new PrintParameters(); 
params.map =this.map; 
printTask.execute(params,this.printResult); 
},printResult: function(event) 
{ 
console.log(event); 
window.open(event.url, "_blank") 
}  

기능 층을 사용 지도 서비스 (각지도 서비스에 대해 하나의 서블릿). 어쩌면 인쇄 작업이 리디렉션을하지 않을 수도 있습니다. 기능 레이어의 정의에있는 URL에서 serviceMAP을 검색하고 서블릿의 링크로 검색합니다. 나는 분명히 ... 누군가 나를 도울 수 있기를 바랍니다! 왜냐하면 나는 내가해야 할 일에 대한 아이디어가 없기 때문이다. 추신 : 영어가 영어보다 미안해서 죄송합니다.

답변

0

필자는 fiddle을 사용하여 작업을 인쇄하기 위해 ArcGIS 서버로 이동하는 json 요청을 제안하려고합니다. 그런 다음 피들러에서 json을 복사하고 REST 엔드 포인트에서 인쇄 서비스를 테스트합니다. 오류가 계속 발생하거나 인쇄 기능 레이어가 인쇄되지 않으면 서비스에서 문제가 발생합니다. 다음과 같이 알고 싶습니다.

  1. 프록시를 사용하고 있습니까?
  2. ArcGIS JS API 버전?
  3. 동일한 응용 프로그램을 esri 샘플 인쇄 서비스로 테스트 해 보셨습니까?
  4. 서비스가 안전합니까?

추가 질문이 있으면 알려주십시오.

0

내 문제는 인쇄물에 표시되지 않은 기능 컬렉션 개체로 구성된 기능 레이어입니다. 내 URL 기반 기능 레이어는 잘 인쇄되었습니다.

현재 해결 방법은지도 서비스의 레이어 필드 속성을 인쇄 서비스로 보내기 전에 제거하는 것입니다.

//Code to remove the fields property from the proper layer. 
map._layers[yourLayerId].fields = undefined; 

//Then your typical print task code that follows. 
var params = new esri.tasks.PrintParameters(); 
params.map = map; 
params.template = template; 
....etc.