当前位置: 代码迷 >> Web前端 >> Openlayers学习札记――Vector Layer Rules和Filter
  详细解决方案

Openlayers学习札记――Vector Layer Rules和Filter

热度:492   发布时间:2012-09-10 11:02:32.0
Openlayers学习笔记――Vector Layer Rules和Filter
  一. OpenLayers.Rule类
    为要素对象指定样式,最好的方式就是利用Rule类,当创建Rule对象后,指定一个Filter对象和一个symbolizer对象,但规则起作用时可调用,在rule对象中有个可选name属性可以给rule指定任意的名字。
    Rule对象应用于style对象,可以在style对象中使用很多rule
   var my-rule=new OpenLayers.Rule({
         filter:new OpenLayers.Filter({}),
         symbolizer:{key:values}
     });
     style_object.addRules([my_rule]);
 
  二.OpenLayers.Filter类
     Filter类控制要素属性匹配的逻辑在于规则是否应用。Filter类有四个字类:Comparison,FeatureId,logical,Spatial.
    1.Filter.Comparison类
     Comparison类就像名字一样,是用来比较矢量图层某个属性值与指定规则对象中的参数值比较。应用比较的类型是通过类型属性指定的。Filter.Comparison有些附随的值属性
所有的比较类型如GREATER_THAN.
    2.Filter.FeatureId类
     该类是基于要素Id来过滤要素的,特别在WFS服务或者SLDs非常有用。在WFS、SLDs中,FeatureID是指定唯一要素的。只要知道FeatureID就能指定要素样式。
     var my_filter=new OpenLayers.Filter.FeatureId({
          fids:['fid1','fid2']
       });
    3.Feature.Logical类
      Feature.Logical类有三种操作:
      %OpenLayers.Filter.Logical.AND:
     %OpenLayers.Filter.Logical.OR:
     %OpenLayers.Filter.Logical.NOT:
  相关解决方案