Daha çox

Basemap təbəqəsi çapdan yox olur. Yalnız maksimum zum ilə baş verir


Arcgis üçün kifayət qədər yeniyəm, xahiş edirəm burada dözün.

PROBLEM:

  • Xəritə çapı üçün standart esri.dijit.Print istifadə edirəm.
  • Əsas xəritə normal olaraq xəritəmin bölməsində bütün zoom səviyyələrində göstərilir.
  • Çap funksiyası bir zoom səviyyəsindən başqa hamısı üçün gözlənildiyi kimi işləyir.
  • Xəritə maksimum səviyyəyə yaxınlaşdırıldıqda, çap nəticəsi baza xəritəsi xaricində hər təbəqədən qrafik göstərə bilər. Yalnız baza xəritəsi və tək bir xüsusiyyət təbəqəsi seçilsə, nəticə üzərində bu xüsusiyyət qrafika ilə əksərən boş bir xəritə göstəriləcəkdir.
  • Javascript xətası və tapşırıq cavabında uğur yoxdur.
  • digər zoom səviyyəsindəki uğurlu bir çap istəyi ilə uğursuz istəklə müqayisə etməyə çalışdım, xəritə ölçüsü xaricində mənalı bir fərq yoxdur.

lib versiyası: 3.10.

Lan ilə əlaqələndirilir

İstək: http: //xx.xx.xx.xx/arcgis/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task/execute

Web_Map_as_JSON-un bir hissəsi: ("torpaq" qatının həqiqətən sualda istinad etdiyim əsas xəritəyə diqqət yetirin)

"mapOptions": {"showAttribution": true, "ölçü": {"xmin": 829211.7728597418, "ymin": 840643.6650277233, "xmax": 829322.236622336, "ymax": 840675.9442589484, "spatialRe" , "latestWkid": 2326}}, "spatialReference": {"wkid": 102140, "latestWkid": 2326}}, "operativLayers": [{"id": "land", "title": "land", "qeyri-şəffaflıq": 1, "minScale": 640000, "maxScale": 1000, "url": "http: // xxxx / MapServer"}, {"id": "basemap", "title": "basemap", "qeyri-şəffaflıq": 1, "minScale": 0, "maxScale": 0, "url": "http: // xxxx / MapServer"}

İstifadəçi-Agent: Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 537.36 (KHTML, Gecko kimi) Chrome / 47.0.2526.106 Safari / 537.36

Hər hansı birinin ayıklama ilə harada başlayacağına dair bir fikri varmı?


Bu bir neçə səbəbdən baş verə bilər.

  1. Nümunəsindəki "torpaq" təbəqəsi json (və ya başqa bir qat sizin nümunənizdə deyil) əsas xəritənin üstündə çəkilə bilər. Çap vəzifəsi, json-a uyğun olaraq təbəqələri sifariş edəcəkdir. beləliklə quru təbəqəsi işlək təbəqələrdə birinci olarsa, hər bir təbəqənin üstünə çəkəcəkdir (arcapda TOC-un başında olmaq kimi). Əsas xəritənin üstündəki təbəqələrdə olanlardan asılı olaraq onu gizlədə bilərlər. Arcmap-da və ya veb xəritədə xəritə xidməti kimi yaxşı işləyən, lakin çap xidmətinə göndərildikdə altındakı hər şeyi maskalayan təbəqələr gördüm.

    Bunu çap nöqtənizə gedərək olduqca tez bir zamanda test edə bilərsiniz: http: //xx.xx.xx.xx/arcgis/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task/execute və webmap json hər təbəqə ilə birlikdə bazemap qat silindi. Boş bir xəritə əldə etsəniz, bu, ehtimal ki, problem deyil.

  2. Stefan internet bağlantınızla bağlı doğru yolda ola bilər. Yəqin ki, deyil sənin internet bağlantısı, ancaq çap serverinin ola bilər. Daha spesifik olaraq bir təhlükəsizlik və ya vəkil problemi ola bilər. Quraşdırma haqqında daha çox şey bilmədən əmin ola bilmərəm, amma bu problemi həll etməyin ən yaxşı yolu arcmap vasitəsilə serverdən yazdırma tapşırığını çalışdıra biləcəyinizə baxmaqdır.

    • Arcmap 10-da Toolboxes -> Sistem Toolboxes -> Server Tools -> Printing -> Export Web Map

    • Veb Xəritəsini İxrac et informasiya qutusuna json və digər parametrlərinizi daxil edin və Tamam düyməsini basın.

  3. brauzerinizin pəncərəsi çap şablonundakı məlumat çərçivəsinin nisbətlərinə tam olaraq təyin edilmədikdə, çap xidməti ya xəritənin miqyasına, ya da ölçülərinə uyğun düzəlişlər etməlidir. Çap şablonundakı preserveScale seçimi (template.preserveScale = true;) buna nəzarət edir. Bunun üçün standart ayar doğrudur, buna baxmayaraq açıq bir şəkildə yalan olaraq təyin etmirsinizsə, bəlkə də sizin probleminiz deyil.

Problemləri aradan qaldırmaq üçün bir çox başqa potensial sahə var, ancaq bunlar işə başlamağınız lazımdır.


Eyni problemi yaşadım və quraraq həll etdimmiqyaslıilə birlikdə seçimqoruma miqyasıiçindəPrintTemplateçap vəzifəsi üçün.

"Tapşırıq İcra et (Veb Xəritəsi Tapşırığı)" REST interfeysi və "miqyaslı" xəritədə düzəltdikdən sonra Veb Xəritə Seçimləri JSON girişi olaraq bazemap üçün maksimum miqyasın 0.001 içərisində bir miqyasa bənzəyir. basemap çap boş, buna görə də ayarı ilə sürətli bir testmiqyaslıistədiyiniz nəticəni əldə etdi - vasitəsilə çapdan əvvəl xəritənin miqyasını birbaşa təyin etməyə çalışınMap.setScaleetdi yox bunu sınadığımda buna nail oldum, nəticəsini də qidalandırmadımscaleUtils.getExtentForScaleüçünMap.setExtentvə yazdırma tapşırığının icrasını tetiklemek üçün təxirə salınmış zənglərin əlavə edilməsi.

Xəritənin istifadə edə biləcəyi hər hansı bir əsas xəritə üçün müraciət etməsini istədim, buna görə də xəritənin ölçüsünü çap etməyə çalışarkən əsas xəritəyə yaxın olub olmadığını bilmək üçün bir test əlavə etdim. Nümunə kodu:

var şablonu = yeni esri.tasks.PrintTemplate (); // ... digər şablon xüsusiyyətlərini təyin edin ... // xəritə ölçüsü yaxın olduqda, əsas xəritənin maxScale ölçüsünü +1-ə qədər artırın var basemap = map.getLayer ("layerIdOfYourBasemap"); əgər ((map.getScale () - basemap.maxScale) <1) {template.outScale = basemap.maxScale + 1; şablon.preserveScale = doğru; }

Bu məsələ internet bağlantınızla əlaqəli ola bilər. Bəlkə əsas xəritənin yüklənməsi üçün bir az daha gözləmək lazımdır?

Yapabileceğiniz başqa bir şey, səhifənizi konsolla ayıklamaqdır. Google xrom üçün bu saytdakı təlimatları istifadə edə bilərsiniz: https://developers.google.com/web/tools/chrome-devtools/debug/console/console-ui?hl=en#opening-the-console