أكثر

كيف تعمل إستراتيجية تصفية OpenLayers GetFeature؟

كيف تعمل إستراتيجية تصفية OpenLayers GetFeature؟


أريد أن أختار على الخريطة ذلك "res_id = 182" ولكن هذا هو تحديد جميع الكائنات على الخريطة.

var filter = new OpenLayers.Filter.Comparison ({type: OpenLayers.Filter.Comparison.EQUAL_TO، property: "res_id"، value: "182"})؛ var filterStrategy = new OpenLayers.Strategy.Filter ({filter: filter}) ؛ var control = new OpenLayers.Control.GetFeature ({protocol: OpenLayers.Protocol.WFS.fromWMSLayer (mylayer)، Strategies: [new OpenLayers.Strategy.Fixed ()، filterStrategy]، box: true، multipleKey: "shiftKey"، toggleKey : "ctrlKey"}) ؛

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


حسنًا ، يمكنك تجربة عوامل تصفية CQL للاستعلامات القائمة على السمات في WMS. ابحث في هذا الموضوع عن كيفية تصفية ميزات wms. بعد ذلك يمكنك تحديد ميزات من WFS الخاص بك تم الحصول عليها من WMS هذا. راجع للشغل: تم تصميم عنصر التحكم GetFeature لاختيار الميزات عن طريق الماوس بدلاً من أي استعلام. لتحديد ميزة يمكنك استخدام SelectFeature-control. قم بتكرار الميزات داخل خريطتك وقم بتنشيط عنصر التحكم للعنصر المطلوب كما هو مقترح في هذا thrad. يمكنك أيضًا إلقاء نظرة على هذا الموضوع إذا كنت تريد استخدام قدرات التصفية المضمنة في WFS.


شاهد الفيديو: Openlayers 6 Tutorial #3 - First Web Map