Daha çox

Tutarsız Tapşırığı müəyyənləşdirin - bu böcəyi izah edin?


Bəziləri vasitəsiləconsole.logayıklama Məni uğursuz edən kodun dəqiq sətirini tapdım, amma problemi necə həll edəcəyimə tam əmin deyiləm.

Əsasən, kliklə bağlama qatını soruşan və göstərilən sahə dəyərlərini bir məlumat pəncərəsi açılan qutusunda qaytaran müəyyənləşdirmə funksiyam var. Test edərkən bəzən həqiqi məlumatlar əvəzinə "məlumat yoxdur" olaraq dönəcəyini gördüm. Kifayət qədər cəhd etsəniz, nəticədə sizə məlumat verəcəkdir. Bunun baş verməsinin qarşısını almaq istərdim və bağlama qatında boşluq olmadığı üçün heç vaxt "məlumat yoxdur" görməməliyəm.

Kod budur:

function executeIdentifyTask (evt) {if (map.infoWindow.count == 0 && map .__ LOD.level> 14) {console.log ("debug 1"); var tms; showLoader (); identifikasiyasıParams.geometry = evt.mapPoint; defineParams.mapExtent = map.extent; identTask.execute (identifikasiya edən parametrlər, funksiya (nəticələr) {var xüsusiyyətləri = []; var commonContent = "; var zoneContent ="; var munContent = "; var zipContent ="; var mCheck = 0; console.log ("debug 2" dojo.forEach (nəticələr, funksiya (nəticə) {if (result.layerName === "Konsey Bölgələri" && mCheck == 0) {console.log ("2.1"); commonContent + = "Bələdiyyə Rayon Adı: "+ result.feature.attributes ['Etiket'] +"  Şura rayon əhalisi: "+ result.feature.attributes ['Əhali'] +"  "; mCheck ++;} else if (result.layerName ===" Partsels ") {features.push (result);}}); dojo.forEach (results, function (result)) {if (result.layerName ===") Zoning ") {console.log (" 2.2 "); zoneContent + ="Zona: "+ result.feature.attributes ['ZoningCode'] +" ";}}); dojo.forEach (nəticələr, funksiya (nəticə) {if (result.layerName ===" Poçt kodları ") {console.log (" 2.3 "); zipContent + ="Poçt kodu: "+ result.feature.attributes ['ZIPCODE'] +" ";}}); dojo.forEach (nəticələr, funksiya (nəticə) {if (result.layerName ===" Bələdiyyələr ") {console.log (" 2.4 "); munContent + ="Bələdiyyə: "+ result.feature.attributes ['NAME'] +" ";}}); nəticələr = dojo.map (xüsusiyyətlər, funksiya (nəticə) {console.log (" 2.5 "); var feature = result.feature; console.log (" 2.6 "); var content ="; console .log ("llllllll 2.7"); əgər (result.layerName === "Koli") {console.log ("2.8"); content + = ''; məzmun + = ""; məzmun + =""; məzmun + =""; məzmun + =""; məzmun + =""; məzmun + = munContent; məzmun + = zipContent; məzmun + =""; məzmun + = zoneContent; məzmun + =""; məzmun + =""; məzmun + =""; content + = commonContent; content + =""; məzmun + =""; məzmun + =""; məzmun + =""; məzmun + =""; məzmun + =""; məzmun + =""; məzmun + =""; məzmun + =""; məzmun + =""; məzmun + ="
Sahibkarın adı:"+ result.feature.attributes ['ONAME'] +"
PİN:"+ result.feature.attributes ['PIN'] +"
TMS:"+ result.feature.attributes ['TMS'] +"
Lot:"+ result.feature.attributes ['LOT'] +"
Bağlama Növü:"+ result.feature.attributes ['PARCELTYPE'] +"
Rayon:"+ result.feature.attributes ['DIST'] +"
Hüquqi Təsvir"+ result.feature.attributes ['GRM_LegalDesc'] +"
Kvadrat görüntülər:"+ result.feature.attributes ['SHAPE.area'] +"
Sahə:"+ result.feature.attributes ['RE_acres'] +"
Sahib Ünvanı:"+ result.feature.attributes ['MADD'] +"
Şəhər:"+ result.feature.attributes ['CITY'] +"
Dövlət:"+ result.feature.attributes ['STATE'] +"
Poçt:"+ result.feature.attributes ['Zip'] +"
Xəritə alt bloku:"+ result.feature.attributes ['MAPSUBBLOCK'] +"
Condo Etiketi:"+ result.feature.attributes ['CONDOLABEL'] +"
Çoxlu:"+ result.feature.attributes ['RE_lots'] +"
Sənəd kitabı:"+ result.feature.attributes ['DeedBook'] +"
Sənəd səhifəsi:"+ result.feature.attributes ['DeedPage'] +"
Satış tarixi:"+ result.feature.attributes ['SaleDate'] +"
"; var şablon = yeni esri.InfoTemplate (result.feature.attributes ['TMS'], content); feature.setInfoTemplate (template); tms = result.feature.attributes ['TMS']; console.log (" debug 3 "); if (onBase == 1) {console.log (" 3.1 "); var featPropsArray = new Array (); var featProp = new Object (); featProp.Key =" TMS "; featProp.Value = tms ; featPropsArray.push (featProp); g_featPropsArray = featPropsArray; OB_GenerateHitListForFeature (g_JSON_OB_GIS_URL, g_featPropsArray, "Partsels", "search_results", null); if ($) () () () ( ('# tabs'). sekmeler ('seçin', 1); hideLoader ();} qayıtma xüsusiyyəti;}}); console.log ("debug 4"); map.infoWindow.setFeatures (nəticələr); console.log ("debug 5"); map.infoWindow.show (identParams.geometry); console.log ("debug 6"); hideLoader ();});} else if (map.infoWindow.count == 0 && map. __LOD.level <= 14) {console.log ("Müəyyənləşdirmək üçün böyütmək lazımdır.")} Else {console.log ("debug 7"); map.infoWindow.clearFeatures (); console.log ("debug 8 "); //map.infoWindow. məhv etmək (); map.infoWindow.hide (); console.log ("debug 9"); executeIdentifyTask (evt); console.log ("debug 10"); }}

Hamısı uğurla icra edildikdə, kodun hamısı işlədilir. "Məlumat yoxdur" aldıqda nəticələr kod bloku tamamilə atlandı.


Ümumiyyətlə bir şey yolda sıfır olduqda bunu alıram (brauzer uğursuz olur, heç bir mesaj yoxdur, düzəldilməsi çətin);

Təklifim, ayıklama alətləri üçün F12-yə vurmaqla başlamaq (xrom, FF, IE hamısı bundan istifadə edir), id nəticələri funksiyanızın başlanğıcına bir kəsmə nöqtəsi qoyun və dəyişəninizi yoxlayın (siçan üzərində və ya saat əlavə edin).

Şəxsən bir neçə üslub dəyişikliyi edərdim, amma əsas təklifim budur ki, şablonunuz yer oxuyucularından istifadə edə bilər ("Məndə $ {var1} var və {$ var2} ..."), kodunuzu oxumağı asanlaşdıracaq.