Leaflet: map.fitBounds مع رد الاتصال بعد انتهاء العملية

تم إنشاؤها على ٢٨ نوفمبر ٢٠١٨  ·  3تعليقات  ·  مصدر: Leaflet/Leaflet

سيكون من الجيد إضافة رد نداء / ثم كلما أنهى map.fitBounds () عمليته. اليوم علينا الاعتماد على إضافة map.once('zoomend moveend', function()); لتحقيق شيء ما بعد ذلك.

على سبيل المثال ، لجعل علامة ترتد بعد الظهور ، يجب أن:

var marker = getMarker();
map.once('zoomend moveend', ()=>{bounceMarker(marker);});
map.fitBounds(marker.getBounds());

سيكون من الجيد أن تفعل شيئًا مثل:
map.fitBounds(marker.getBounds()).then(()=>{bounceMarker(marker);});

التعليق الأكثر فائدة

سيكون من الرائع أن تقوم وظائف الخريطة التي تقوم بتعديل حالة الخريطة بإرجاع Promise

ال 3 كومينتر

سيكون من الرائع أن تقوم وظائف الخريطة التي تقوم بتعديل حالة الخريطة بإرجاع Promise

ما فعلته هو إضافة طريقة إلى خريطتي (تستخدم وعد jquery ، ولكن يمكن استبدالها بسهولة):

zoomToBounds: function () {
  var promise = $.Deferred();
  this.once("moveend", function () {setTimeout(function () {promise.resolve();}, 20);});
  this.fitBounds.call(this, arguments);
  return promise;
}

هل يمكنك استبدال $.Deferred() بـ new Promise() وبعد ذلك لإنشاء طلب سحب؟

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات