如何根据字段值更改 fillColor

How to change fillColor due a field value

我有一张带有一些特征的地图,但我想根据所有领域来确定它们。

可能是

if [字段名] = 0 --> 颜色 = 红色 否则 --> color = blue

谁能给出从哪里开始的线索?

在传单文档中搜索我设法编程

function getColor(d) {
    return d = 0 ? '#3182bd' :
           d = 1 ? '#31a354' :
                    '#FFEDA0';
}

function style(feature) {
return {
        fillColor: getColor(feature.properties.*fieldname*),
    };

}

但我不确定如何对它进行整数处理,如果我在路上或者使用 gvnix 可以更轻松地进行操作

谢谢大家 哈维尔

在您的 gvNIX 视图中,您可以使用 entity-field tagx 的属性 fnAjustRender 自定义用于绘制几何图形的符号。使用此方法必须在.jspx页面中声明一个script并在属性中注册。

例如,在 show.jspx entity fied definition 中,您应该更改:

....
<layer:entity-field clusterize="false" 
        fnAjustRender="myJSFunction"   .... z="user-managed"/>
....

然后在 jspx 中创建一个 myJSFunction 像这样:

<script>
  function myJSFunction(gvmap, layerId, fieldName, 
       featurePk, leafletLayer, featureData, isSelected) {

      var iconColor = "white";
      if (featureData.propName == 1) {
        iconColor = "red";
      } else {
        iconColor = "blue";
      }
      var iconMarker = L.AwesomeMarkers.icon({
                "icon" : icon,
                "prefix" : prefix,
                "markerColor" : markerColor,
                "iconColor" : iconColor
            });
       leafletLayer.setIcon(iconMarker);
       return leafletLayer;
  }

</script>

警告:没有经过测试的代码

祝你好运!