javascript - 嵌入式 GeoJSON 样式是否适用于 Mapbox GL?

标签 javascript maps mapbox mapbox-gl-js

是否可以利用 GeoJSON 数据源的内置 properties 属性自动设置 Mapbox GL map 的样式,而无需预先指定样式?

我有一个用例,我在 GeoJSON LineString 中动态加载需要特定颜色的数据,并且它已经内置了样式数据:

{“属性”:{“颜色”:“#ffff33”...

现在,我有一个相当不优雅的设置,其中相关颜色被解析出来,转换成一种样式,并在每次加载时添加到 map 中:

    $scope.patternPropToStyle = function(props) {
      var id = 'pattern' + props.pid;
      var style = {
        "id": id,
        "type": "line",
        "source": id,
        "render": {
          "$type": "LineString",
          "line-join": "round",
          "line-cap": "round"
        },
        "paint": {
          "line-color": props.color,
          "line-width": 8
        }
      }
      $scope._mapStyle.layers.push(style);
      $scope._map.setStyle($scope._mapStyle);
    }

我觉得必须有更好的方法来做到这一点。

最佳答案

目前,没有 - simplestyle-spec Mapbox GL 不支持。目前 GeoJSON 支持仍然非常原始,因为最初的重点是矢量切片。 simplestyle-spec 支持肯定在计划中。

关于javascript - 嵌入式 GeoJSON 样式是否适用于 Mapbox GL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28470476/

相关文章:

javascript - 使用 `icon-allow-overlap` 时 Mapbox 标记闪烁

javascript - 循环遍历所有子元素

python - 在世界地图上绘制 GeoIP 数据

java - HashMap 难点

ios - 平移手势不会将触摸转发到 Mapbox MGLMapView

javascript - 分类数据的 Mapbox 数据驱动样式 - 如何将表达式与数组输入匹配?

javascript - 导航栏轮播元素背景颜色

javascript - 通用 Javascript/CSS/HTML 食谱书

javascript - Jquery:触发超大功能之前延迟?

javascript - 谷歌地图 Geojson 信息窗口