أكثر

طبقة WFS ليس لديها ميزات في OpenLayers؟

طبقة WFS ليس لديها ميزات في OpenLayers؟


لدي طبقة بها العديد من الميزات وعندما أقوم بإضافتها إلى الخريطة كطبقة WMS ، فإنها تعمل. ولكن إذا أضفت الطبقة باسم WFS ، فيبدو أنه لا توجد ميزات.

الكود الذي أستخدمه لتحميل طبقة WFS هو:var layerName = '…' ؛ var workspace = '…' ؛ var vectorLayer = new OpenLayers.Layer.Vector ('Questolayer'، {projection: new OpenLayers.Project ('EPSG: 4326') ، الاستراتيجيات: [new OpenLayers.Strategy.BBOX ()] ، البروتوكول: OpenLayers.Protocol.WFS الجديد ({الإصدار: "1.1.0"، url: "/ geoserver / wfs"، featureType: layerName، featureNS: workspace، srsName: "EPSG: 4326"})})؛ vectorLayer.events.on ({'loadend': function (event) {console.warn ('00 features: '، vectorLayer.features)؛}})؛ openlayersmap.addLayer (vectorLayer) ؛

إذا تحققت من الاستجابة باستخدام Firebug ، يمكنني رؤية XML مع علامات gml: featureMembers والعديد من الميزات فيه. لكن تحتوي رسالة التحذير "00 ميزة" في السجل على متجه فارغ.

هل تعرف لماذا؟


لقد وجدت المشكلة! كان ذلك بسبب أن مساحة العمل كانت بأحرف كبيرة في GeoServer. أقوم بالتحويل إلى أحرف صغيرة عندما أقوم بتعيين المعلمة في كائن البروتوكول وهي تعمل الآن. لا أعرف ما إذا كان هذا خطأ.