Daha çox

ESRI QueryLayer + Javascript API - xəritə uyğunsuz nəticələri göstərir


Bu yaxınlarda xəritə xidmətlərimizdən birini FGDB-dən bir SQL Server məkan db arxasına köçürdük. İndi xəritənin yerləşmələri uyğunsuz şəkildə göstərdiyi kimi bir problemi müşahidə edirik. Problemi nümayiş etdirmək və kodu mümkün qədər sadələşdirmək üçün bir JSFiddle yaratdım.

http://jsfiddle.net/acurtiss/pbuLot1g/24/

Tətbiqi böyütdüyünüz və ya kiçiltdiyiniz və ya sadəcə yenidən başlatdığınız təqdirdə, bəzi poçt kodlarının təsadüfi olaraq boş qalacağını görməlisiniz. (Bu xəritədəki poçt kodları təxminən 100% -lə doldurulmalıdır.) Xəritə xidmətindən qayıdan JSON obyektini yoxladım və nəticələrin uyğun və düzgün olduğunu təsdiqlədim, buna görə Javascript API ilə bağlı bir problemdən şübhələnməyə başlayıram. özü. ESRI dəstəyi ilə əlaqə saxladım və yanımda bir bilet açdım, amma bu günə qədər problemin mənbəyini müəyyənləşdirmədilər, buna görə bu saytda daha geniş bir CBS mütəxəssislərinə açacağımı düşünürdüm.

Tələb edildiyi kimi, burada çox sayda boş poçt kodunu göstərən bir ekran görüntüsü. (Bu Sayt hesabımla bağlı bəzi məhdudiyyətlər səbəbindən çox ekran görüntüləri göndərə bilmirəm, amma inşallah bu nümunə həll etməyə çalışdığım problemi göstərir.)


Bir neçə şeyi yoxlayardım:

  1. Bu xəritə xidmətində Pooling həddi nədir? Bir çox eyni vaxtda sorğu istəyi çıxır və bəzi server cavablarının gülməli olmasına səbəb olan maksimum instansiya həddini vura bilərsiniz. Maksimum həddi artıra bilər və ya təcrid parametrlərinizi Aşağı İzolasiyaya keçirə bilərsiniz. (Keçmişdə aşağı izolyasiya ilə uğursuz oldum, buna görə bu həmişə işləməyə bilər.)

  2. Bəzi sorğu cavablarının qeyd olunduğunu görürəm304 DƏYİŞİLMƏDİbeləliklə sorğunuzu çirkləndirməyə çalışa bilərsiniz, beləliklə həmişə serverdən bir nəticə çıxaracaqdır.

Bunu burada edə bilərsiniz:

var dirty = (new Date ()). getTime (); var query = yeni esri.tasks.Query (); query.returnGeometry = doğru; query.maxAllowableOffset = 1000; // nəyin burada olduğuna əmin deyilsən? query.where = "NAME = '" + globals.siteFilter + "' AND" + dirty + "=" + dirty;

redaktə: JSFiddle ilə oynadıqdan sonra (hər hansı bir server yüklənməsi üçün üzr istəyirik!) Hesab edirəm ki, məsələ sizin maksimum toplanma limitinizdir.

MODE_SNAPSHOT- Yuxarıdakı bir şərhdə qeyd etdiyiniz kimi, bu məsələ bu rejimdən istifadə edərək aradan qalxır, lakin bütün xüsusiyyətləri bir anda çəkən və çəkməyi bitirmək üçün təxminən 40-50 saniyə çəkən tək bir istəkdir. Bunu istehsal üçün niyə istəmədiyinizi anlayıram.

MODE_ONDEMAND- Bu, FeatureLayer sorğusunu kiçik AOI sorğularına ayırır. Təəssüf ki, FeatureLayer bir çox xüsusiyyət ehtiva edərsə nəticələrinizi daha sürətli əldə edə bilərsiniz. İşin mənfi tərəfi odur ki, nəticələr yalnız istifadəçi başqa bir sorğu dəsti verən xəritəni yenidən qablaşdırdıqda / yaxınlaşdırana qədər mövcuddur. Bu, serverdəki yükü artırır.

Bu 2 nümunənin sizdən göndərilən sorğuların sayını idarə edə bilməyəcəyini hiss edirəmMODE_ONDEMANDxüsusiyyətləri. Boş cavablardan birini götürdüm və parametrləri birbaşa REST son nöqtəsinə qoşdum və 137 xüsusiyyəti geri aldım. Maksimum hovuz həddini 8 və ya 10-a qaldırmağa cəhd edə bilərsinizmi?


Keçmişdə hələ rəsm çəkərkən bir qat tərifi və ya görünürlük təyin etməklə oxşar problemlər yaşadım. Bu linkə baxın: https://geonet.esri.com/thread/10158 Bəlkə bu sizin probleminizdir ...


Videoya baxın: Create WebMap Using ArcGIS Javascript API Part 2 Map and View (Oktyabr 2021).