نشرة (برنامج)
Leaflet هي مكتبة جافا سكريبت تُستخدم لبناء تطبيقات خرائط الويب . تُمكّن المطورين من عرض خرائط ويب مُجزأة مُستضافة على خادم عام، مع إمكانية إضافة طبقات مُجزأة اختيارية. كما يُمكنها تحميل بيانات المعالم من ملفات GeoJSON ، وتنسيقها، وإنشاء طبقات تفاعلية، مثل العلامات التي تظهر عند النقر عليها.
تم إصداره لأول مرة في عام 2011، [ 3 ] وهو يدعم معظم منصات الهواتف المحمولة وأجهزة الكمبيوتر المكتبية، ويدعم HTML5 و CSS3 . ومن بين مستخدميه FourSquare و Pinterest و Flickr وهيئة المسح الجيولوجي الأمريكية (USGS) .
Leaflet مفتوح المصدر ، وقد تم تطويره بواسطة المطور الأوكراني فولوديمير أغافونكين، الذي انضم إلى Mapbox في عام 2013. [ 4 ]
يستخدم

يتضمن الاستخدام النموذجي لـ Leaflet ربط عنصر "الخريطة" الخاص بـ Leaflet بعنصر HTML مثل div . ثم تُضاف الطبقات والعلامات إلى عنصر الخريطة. [ 5 ]
سمات
يدعم Leaflet طبقات خدمة خرائط الويب (WMS)، وطبقات GeoJSON ، وطبقات المتجهات ، وطبقات البلاط بشكل أصلي. كما يدعم العديد من أنواع الطبقات الأخرى عبر الإضافات .
مثل مكتبات خرائط الويب الأخرى، فإن نموذج العرض الأساسي الذي تنفذه Leaflet هو خريطة أساسية واحدة، بالإضافة إلى صفر أو أكثر من الطبقات الشفافة، مع عرض صفر أو أكثر من كائنات المتجهات في الأعلى.
عناصر
أنواع كائنات Leaflet الرئيسية هي: [ 6 ]
- أنواع الصور النقطية (TileLayer و ImageOverlay)
- أنواع المتجهات (المسار، المضلع، وأنواع محددة مثل الدائرة)
- أنواع مجمعة (LayerGroup و FeatureGroup و GeoJSON)
- عناصر التحكم (التكبير، الطبقات، إلخ).
يوجد أيضًا مجموعة متنوعة من فئات الأدوات المساعدة مثل الواجهات لإدارة الإسقاطات والتحويلات والتفاعل مع نموذج كائن المستند (DOM).
دعم تنسيقات نظم المعلومات الجغرافية
يدعم Leaflet بشكل أساسي العديد من تنسيقات نظم المعلومات الجغرافية (GIS) القياسية، مع دعم تنسيقات أخرى في المكونات الإضافية.
| معيار | يدعم |
|---|---|
| GeoJSON | دعم أساسي جيد من خلال geoJsonالوظيفة [ 7 ] |
| KML، CSV، WKT، TopoJSON، GPX | مدعوم في إضافة Leaflet-Omnivore [ 8 ] |
| التحفيز المغناطيسي عبر الجمجمة | الدعم الأساسي من خلال TileLayer[ 9 ] |
| نظام إدارة المستودعات | الدعم الأساسي من خلال النوع الفرعي TileLayer.WMS[ 10 ] |
| WFS | غير مدعوم، على الرغم من وجود إضافات من جهات خارجية. [ 11 ] |
| GML | غير مدعوم. [ 12 ] |
دعم المتصفح
يدعم Leaflet 1.9 متصفحات Chrome و Firefox و Safari 5+ و Opera 12+ و IE 9–11 و Edge. [ 13 ]
يدعم Leaflet 0.7 متصفحات Chrome و Firefox و Safari 5+ و Opera 12+ و IE 7–11. [ 14 ]
مقارنة مع المكتبات الأخرى
تُعدّ Leaflet قابلة للمقارنة مباشرةً مع OpenLayers ، فكلتاهما مكتبتان مفتوحتا المصدر تعملان على جانب العميل فقط باستخدام JavaScript. تتميز Leaflet بحجمها الأصغر بكثير، إذ يبلغ حوالي 7000 سطر برمجي مقارنةً بـ 230000 سطر برمجي لـ OpenLayers (حتى عام 2015). [ 15 ] كما أن حجمها البرمجي أصغر من OpenLayers (حوالي 123 كيلوبايت [ 16 ] مقابل 423 كيلوبايت [ 17 ] )، ويعود ذلك جزئيًا إلى بنيتها المعيارية. قاعدة الشفرة البرمجية أحدث، وتستفيد من الميزات الحديثة لـ JavaScript، بالإضافة إلى HTML5 وCSS3. مع ذلك، تفتقر Leaflet إلى الميزات التي تدعمها OpenLayers، مثل خدمة ميزات الويب (WFS) [ 18 ] والدعم الأصلي للإسقاطات الأخرى غير إسقاط جوجل ويب ميركاتور (EPSG 3857). [ 19 ]
كما أنها تُقارن بواجهة برمجة تطبيقات خرائط جوجل (التي ظهرت لأول مرة عام ٢٠٠٥) وواجهة برمجة تطبيقات خرائط بينج ، وكلاهما مُغلق المصدر، ويحتويان على مُكوّن خادم رئيسي لتوفير خدمات مثل تحديد المواقع الجغرافية ، والتوجيه ، والبحث، والتكامل مع ميزات مثل جوجل إيرث . توفر واجهة برمجة تطبيقات خرائط جوجل السرعة والبساطة، ولكنها غير مرنة، ولا يُمكن استخدامها إلا للوصول إلى خدمات خرائط جوجل. مع ذلك، يسمح جزء DataLayer الجديد من واجهة برمجة تطبيقات جوجل بعرض مصادر البيانات الخارجية. [ ٢٠ ]
تاريخ
بدأ مشروع Leaflet في عام 2010 باسم "Web Maps API"، وهي مكتبة جافا سكريبت لمزود خدمات الخرائط CloudMade، حيث كان يعمل أغافونكين آنذاك. في مايو 2011، أعلنت CloudMade عن الإصدار الأول من Leaflet، الذي تم بناؤه من الصفر ولكنه استخدم أجزاءً من كود واجهة برمجة التطبيقات القديمة. [ 21 ]
- 0.1: 17 مايو 2011
- 0.2: 18 يونيو 2011
- 0.3: 14 فبراير 2012
- 0.4: 30 يوليو 2012
- 0.5: 17 يناير 2013
- أضاف هذا الإصدار دعمًا لشاشات ريتينا والعديد من التحسينات على سهولة الاستخدام وتجربة المستخدم. [ 22 ]
- 0.6: 26 يونيو 2013
- وسّع هذا الإصدار نطاق طرق وأحداث واجهة برمجة التطبيقات، وحسّن سهولة الاستخدام، وأضاف ميزة حفظ بيانات GeoJSON. وقد أُنجز خلال يومين من العمل المكثف بدعم من Mapbox. [ 23 ]
- 0.7: 22 نوفمبر 2013
- ركز هذا الإصدار على إصلاح الأخطاء، مع الإعلان عن أن إعادة هيكلة الكود ومعالجة حالات عدم التوافق مع الإصدارات السابقة ستتم قريبًا. [ 24 ]
- 1.0: 27 سبتمبر 2016
- يحتوي هذا الإصدار على أكثر من 400 تغيير مقارنة بالإصدار v0.7.7: [ 25 ]
- تحسينات في الأداء في جميع جوانب المكتبة وطبقات المتجهات على وجه الخصوص.
- رسوم متحركة للتحليق (التكبير والتصغير والتحريك في منحنى).
- دعم مستوى التكبير الجزئي.
- خوارزمية تحميل بلاطات محسّنة مع تقليل الوميض.
- إدارة الألواح المخصصة (بما في ذلك ألواح طبقات المتجهات المتعددة وتداخل المتجهات وطبقات البلاط).
- دعم أفضل للإسقاطات غير القياسية.
- مزيد من ميزات تسهيل الوصول.
- تحسين الوثائق.
- تحسينات في الاستقرار.
- يحتوي هذا الإصدار على أكثر من 400 تغيير مقارنة بالإصدار v0.7.7: [ 25 ]
- 1.1: 27 يونيو 2017 [ 26 ]
- يضيف هذا الإصدار طبقات الفيديو وينتقل إلى وحدات ECMAScript 6.
- 1.2: 25 أكتوبر 2017
- 1.3: 15 يناير 2018
- 1.3.2: 17 يوليو 2018
- 1.3.3: 18 يوليو 2018
- 1.3.4: 21 أغسطس 2018
- 1.4.0: 30 ديسمبر 2018
- 1.5.0 و 1.5.1: 8 مايو 2019 [ 27 ] [ 28 ]
- 1.6.0: 17 نوفمبر 2019 [ 29 ]
- 1.7.0 و 1.7.1: 4 سبتمبر 2020 [ 30 ]
- 1.8: 18 أبريل 2022 [ 31 ]
- 1.9: 22 سبتمبر 2022 [ 32 ] [ 33 ]
في مارس 2022، حث المطور على اتخاذ إجراءات بشأن الغزو الروسي لأوكرانيا على موقع Leaflet الإلكتروني. [ 34 ]
مراجع
- ↑ "الإصدار 1.9.4 الأحدث" . 18 مايو 2023. تم الاطلاع عليه بتاريخ 20 مايو 2023 .
- ↑ "الترخيص - النشرة" . النشرة . تم الاطلاع عليها بتاريخ 2018-11-03 .
- ↑ لوفليس، روبن. "اختبار واجهات برمجة تطبيقات خرائط الويب - جوجل مقابل أوبن لايرز مقابل ليفليت" . مؤرشف من الأصل بتاريخ 2017-11-03 . تم الاطلاع عليه بتاريخ 2018-11-03 .
- ↑ ماكرايت، توم (2014-08-06). "انضمام فلاديمير أغافونكين، مبتكر تطبيق Leaflet، إلى MapBox" . مؤرشف من الأصل بتاريخ 2015-09-12 . تم الاطلاع عليه بتاريخ 2018-11-03 .
- ↑ "إنشاء خرائط تفاعلية عبر الإنترنت باستخدام Leaflet" . المستشرق الرقمي . 2019-01-03 . تم الاطلاع عليه بتاريخ 2026-03-20 .
- ↑ "مرجع واجهة برمجة تطبيقات Leaflet" . تم الاطلاع عليه بتاريخ 2018-11-03 .
- ↑ "استخدام GeoJSON مع Leaflet" . تم الاطلاع عليه بتاريخ 2018-11-03 .
- ↑ "leaflet-omnivore" . 5 أكتوبر 2021 – عبر GitHub.
- ↑ "TileLayer.WMS" . تم الاطلاع عليه بتاريخ 2018-11-03 .
- ↑ "TileLayer.WMS" . تم الاطلاع عليه بتاريخ 2018-11-03 .
- ↑ "Leaflet with WFS Example" . 19 يوليو 2019 – عبر GitHub.
- ↑ "دعم لغة GML" . GitHub . 2012-06-23 . تم الاطلاع عليه بتاريخ 2018-11-03 .
- ↑ "Leaflet - Features" . leafletjs.com . مؤرشف من الأصل بتاريخ 18-07-2026 . تم الاطلاع عليه بتاريخ 22-07-2026 .
- ↑ "الميزات" . leafletjs.com . مؤرشف من الأصل بتاريخ 18-01-2014 . تم الاطلاع عليه بتاريخ 03-11-2018 .
- ↑ "مقارنة OpenLayers و Leaflet على OpenHub.net" . OpenHub.net . مؤرشف من الأصل بتاريخ 2014-08-08 . تم الاطلاع عليه بتاريخ 2018-11-03 .
- ↑ "الصفحة الرئيسية لـ Leaflet" . Leaflet - مكتبة جافا سكريبت مفتوحة المصدر للخرائط التفاعلية المتوافقة مع الأجهزة المحمولة . تم الاطلاع عليه بتاريخ 3 نوفمبر 2018 .
- ↑ "شفرة المصدر المضغوطة لبرنامج OpenLayers 3.4.0" . OpenLayers.org. مؤرشف من الأصل بتاريخ 29-11-2016 . تم الاطلاع عليه بتاريخ 03-11-2018 .
- ↑ تتوفر قائمة بالعديد من الإضافات التي تدعم WFS على الرابط التالي: https://leafletjs.com/plugins.html
- ↑ "الإسقاط" . تم الاسترجاع في 2018-11-03 .
- ↑ "طبقة البيانات" . منصة خرائط جوجل . شركة جوجل . تم الاسترجاع في 3 نوفمبر 2018 .
- ↑ "الإعلان عن Leaflet: مكتبة جافا سكريبت حديثة مفتوحة المصدر للخرائط التفاعلية" . CloudMade . 13 مايو 2011. تم الاطلاع عليه بتاريخ 3 نوفمبر 2018 .
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) - ↑ أغافونكين، فلاديمير (17 يناير 2013). "إصدار النشرة 0.5" . تم الاطلاع عليه بتاريخ 3 نوفمبر 2018 .
- ↑ أغافونكين، فلاديمير (26-06-2013). "إصدار Leaflet 0.6، وفعالية Code Sprint في واشنطن العاصمة باستخدام MapBox" . تم الاطلاع عليه بتاريخ 03-11-2018 .
- ↑ أغافونكين، فلاديمير (18-11-2013). "إصدار Leaflet 0.7، وMapBox، وخطط المستقبل" . تم الاطلاع عليه بتاريخ 03-11-2018 .
- ↑ أغافونكين، فلاديمير (27-09-2016). "تعرّف على Leaflet 1.0" . تم الاسترجاع في 03-11-2018 .
- ↑ ليدمان، بير (27-06-2017). "الإعلان عن Leaflet 1.1.0" . leafletjs.com . تم الاطلاع عليه بتاريخ 22-07-2026 .
- ↑ تشيرنيافسكي، أندرو (2019-05-08). "الإعلان عن Leaflet 1.5.0" . leafletjs.com . تم الاطلاع عليه بتاريخ 22-07-2026 .
- ↑ تشيرنيافسكي، أندرو (2019-05-08). "الإعلان عن Leaflet 1.5.1" . leafletjs.com . تم الاطلاع عليه بتاريخ 22-07-2026 .
- ↑ تشيرنيافسكي، أندرو (17 نوفمبر 2019). "الإعلان عن Leaflet 1.6.0" . leafletjs.com . تم الاطلاع عليه بتاريخ 22 يوليو 2026 .
- ^ أورتيجا ، إيفان سانشيز (2020-09-04). "تم إصدار النشرة 1.7" . leafletjs.com . تم الاسترجاع 2026-07-22 .
- ↑ أغافونكين، فولوديمير (18 أبريل 2022). "إصدار Leaflet 1.8 في خضم الحرب" . leafletjs.com . تاريخ الاسترجاع: 22 يوليو 2026 .
- ^ كوبس ، جون (21/09/2022). "تم إصدار النشرة 1.9" . leafletjs.com . تم الاسترجاع 2026-07-22 .
- ↑ jonkoops (2022-09-22). "v1.9.0" . github.com . تم الاطلاع عليه بتاريخ 2026-07-22 .
- ↑ "Leaflet - مكتبة جافا سكريبت للخرائط التفاعلية" . 21 مارس 2022. مؤرشف من الأصل في 21 مارس 2022. تم الاطلاع عليه في 22 مارس 2022 .
روابط خارجية
- تطبيق ويب مجاني تم إنشاؤه باستخدام Leaflet: embedMap
- برامج نظم المعلومات الجغرافية المجانية
- برنامج مجاني مكتوب بلغة جافا سكريبت
- التكنولوجيا الجغرافية
- مكتبات جافا سكريبت
- لغة ترميز Keyhole
- البرامج التي تستخدم ترخيص BSD
- خرائط الويب
