Daha çox

Leaflet-də bir xüsusiyyət atributlarını necə təkrarlamaq olar?

Leaflet-də bir xüsusiyyət atributlarını necə təkrarlamaq olar?


Vasitəsilə çoxbucaqlılar alıram ESRI REST API ilə Vərəqə. Bunun üçün xüsusi bir pop-up yaratmaq üçün bir xüsusiyyətin bütün atributlarını təkrarlamaq istəyirəm.

Kodum belə görünür:

myLayer.on ('kliklə', function (evt) {feature = evt.layer.feature; // Budur təkrarlamaq istəyirəm ...}

Bilirəm ki, bu kimi atributlara daxil ola bilərəm:

xüsusiyyət.properties.myAttribute

Ancaq bütün atributları necə təkrarlaya bilərəm?


Mənim anlayışım düzgündürsə, əvvəlcədən hansı xüsusiyyətlərin təyin olunduğunu və mövcud olduğunu bilmədən verilmiş hadisə qatının bütün xüsusiyyətlərini oxumaq istəyirsən?

Bu vəziyyətdə, istifadə edə biləcəyiniz sadə bir JavaScript problemidir Object.keys (feature.properties) mövcud "atributlar" dizisini əldə etməkxüsusiyyət.xassələri. Sonra sadəcə həmin massiv üzərində təkrarlayın:

myLayer.on ('klik', funksiya (evt) {var xüsusiyyət = evt.layer.feature, rekvizit = xüsusiyyət.properties, attrs = Object.keys (rekvizit), atribut, dəyər; for (var i = 0; i < attrs.length; i + = 1) {attribute = attrs [i]; value = rekvizit [attribute]; // bir şey etmək üçün dəyərdən istifadə edin ...}});

… Üçün istifadə edə bilərsiniz:

for (dayaqdakı atribut) {dəyər = rekvizit [atribut]; }

Videoya baxın: leaflet js to create map offline u0026 online html + Geojson Interactive Map multi-layer