أكثر

هل تستخدم البرنامج المساعد marker.cluster مع المكوّن الإضافي ajax في Leaflet؟

هل تستخدم البرنامج المساعد marker.cluster مع المكوّن الإضافي ajax في Leaflet؟


أرغب في استخدام كل من المكوِّن الإضافي للعلامة والمكوِّن الإضافي ajax معًا ، لكن لا يبدو أنني أجعلها تعمل. بيانات geoJSON الخاصة بي هي أشكال هندسية للنقطة.

لقد تمكنت من استخدام البرنامج المساعد أجاكس للنشرة بنجاح مثل هذا:

// وظيفة النمط لوظيفة طبقة thegeojson getColor (الحالة) {if (status == 'active') {return "# FF006F"} else if (status == 'closed') {return "# 20679A"} else if (status) == "قيد الإنشاء") {return "# 0FB248"} else {return "# FCFF15"}} // تحميل geojson لمحطات الطاقة var geojsonAjax = new L.GeoJSON.AJAX ("geojson / geojson.geojson"، {style: function (feature) {return {radius: 6، fillColor: getColor (feature.properties.Status) ، color: getColor (feature.properties.Status) ، weight: 1 ، opacity: 1 ، fillOpacity: 0.7}} ، pointToLayer: function (feature، latlng) {return L.circleMarker (latlng)}}) ؛

تمكنت أيضًا من استخدام البرنامج المساعد markercluster:

// تحميل geojson باستخدام متغير js var markers = new L.MarkerClusterGroup ({showCoverageOnHover: false، maxClusterRadius: 80}) ؛ markers.addLayer (L.geoJson (geojsonJS)) ؛ map.addLayer (علامات) ؛

ولكن عندما أرغب في استبدال متغير geojsonJS بالمحتوى الذي أحصل عليه من المكون الإضافي AJAX ، فإنه لا يعمل.

// هذا لا يعمل markers.addLayer (L.geoJson (geojsonAJAX)) ؛

لا أحصل على أي خطأ في وحدة التحكم - والخريطة فارغة فقط.

أي فكرة عما قد تكون المشكلة؟

تعديل

الحل الذي قبلته نجح على أكمل وجه. ومع ذلك ، لم تكن وظيفة التجميع تعمل لأن لدي أشكال هندسية متعددة النقاط. كان تحويلها إلى أشكال هندسية نقطية هو الحيلة الأخيرة لجعل كل شيء يعمل.


يبدو أن لديك نفس المشكلة التي عانيت منها. الق نظرة هنا. نظرًا لأنك تستخدم AJAX لتحميل ملف JSON ، فإن ملفgeojsonAjaxعلى الأرجح لا توجد بيانات عند إطلاق النارmarkers.addLayer (L.geoJson (geojsonAJAX)) ؛

جرب شيئًا كهذا:

var markers = new L.MarkerClusterGroup ({showCoverageOnHover: false، maxClusterRadius: 80}) ؛ // وظيفة النمط لوظيفة طبقة thegeojson getColor (الحالة) {if (status == 'active') {return "# FF006F"} else if (status == 'closed') {return "# 20679A"} else if (status) == "قيد الإنشاء") {return "# 0FB248"} else {return "# FCFF15"}} // تحميل geojson لمحطات الطاقة var geojsonAjax = new L.GeoJSON.AJAX ("geojson / geojson.geojson"، {style: function (feature) {return {radius: 6، fillColor: getColor (feature.properties.Status) ، color: getColor (feature.properties.Status) ، weight: 1 ، opacity: 1 ، fillOpacity: 0.7}} ، pointToLayer: function (feature، latlng) {return L.circleMarker (latlng)}}) ؛ }}) ؛ geojsonAjax.on ('data: portable'، function () {markers.addLayer (geojsonAjax)؛ map.addLayer (markers)؛}

شاهد الفيديو: 56- JavaFX. ImageViewer App- مستعرض صور