Mapbox JS GL中的数据驱动行宽

时间:2016-07-01 11:56:41

标签: javascript mapbox mapbox-gl mapbox-gl-js

我在地图中添加了一个geojson。其中一个功能属性称为delay - 它包含0到160之间的数字。下面,我尝试将line-width作为此属性中值的函数(使用{{3就像人们会设计颜色一样。事实上,我希望它是一个数学函数(sqrt(延迟)而不是使用类别),但在任何一种情况下,我每次意外地在控制台中收到语法错误")",建议一个人不能以与颜色相同的方式设置线宽。 Mapbox JS GL中最好的解决方法是什么?

map.on('load', function () {
   map.addSource("routes", {
       "type": "geojson",
       "data": "simplify_830.geojson"
   });

   map.addLayer({
       "id": "routes",
       "type": "line",
       "source": "routes",
       "layout": {},
       "paint": {
           "line-color": "#FFA500",
           'line-width': {
               property: 'delay',
               stops: [
                   [0, 2],
                   [20, 4],
                   [40, 6],
                   [60, 8],
                   [80, 10],
                   [100, 12],
                   [120, 14],
                   [140, 16],
                   [160, 20]
               ]
           },
       "filter": ["==", "name", ""]
   });

1 个答案:

答案 0 :(得分:1)

我们还不支持线属性的数据驱动样式。

我们计划很快每http://github.com/mapbox/mapbox-gl-js/issues/2729添加一次。

我很抱歉没有更清楚地传达数据驱动样式支持的状态。我的一位同事正在制作支持表! https://github.com/mapbox/mapbox-gl-style-spec/pull/465