أكثر

الكشف عن حدث "load" أو "done" بعد تعيين CartoCSS جديد باستخدام set () في cartodb.js

الكشف عن حدث


أقوم بتحميل طبقة بيانات الخريطة على خريطة كتيب باستخدام كارتودب.

عند إدخال المستخدم ، تعيد الخريطة تكوين CartoCSS لعرض البيانات بشكل مختلف. المثال أدناه.

layer.on ({click: function (e) {dataLayer.getSubLayer (0) .set ({cartocss: "#export {polygon-opacity: 0؛}"}). on ("load"، function () {console .log ("تحميل") ؛}) ؛}}) ؛

أود أن أكون قادرًا على اكتشاف وقت تحميل الطبقة المعاد تكوينها - هناك أحيانًا تأخر كبير - مع حدث "تم" أو "تحميل". لكن لا يعمل أي منهما كما هو مذكور أعلاه ، ولا تقدم الوثائق أي تلميحات بشأن أي وعد / حدث خاص لـ.تعيين().


يبدو أن أحداث التحميل مدعومة (ولكن لم يتم توثيقها) على dataLayer ، ولكن نظرًا لأن الوعود غير مدعومة ، فسيتعين عليك إعداد المستمع قبل الاتصال بـتعيين، على سبيل المثال:

dataLayer.on ("تحميل"، function () {console.log ('layer change')؛})؛ dataLayer.getSubLayer (0) .set ({cartocss: "#export {polygon-opacity: 0؛}"
});