Mapbox GL JS: 改变多边形边框宽度

9

我在地图上有一个简单的多边形,我想调整边框颜色和宽度(使用外部geoJSON)。在API手册中没有找到相关信息。

这是我的示例链接(及其源代码)。

目前我的多边形样式代码如下:

'paint': {
'fill-color': 'rgba(60, 120, 40, 0.4)',
'fill-outline-color': 'rgba(20, 100, 25, 1)'
}

我应该添加什么来增加边框的宽度?是否还有其他简单多边形的样式选项我不知道?(因为我找不到相关文档。)

我在下面发布了一个图片,基本上左侧图像中的边框定义良好,但如果用户改变视角,则很难看到,因为宽度太小。

geoJSON border issue image

1个回答

17

由于技术原因,在填充样式中,您无法指定大于1的边框宽度。请使用带有线条样式的附加图层:

  map.addLayer({
    'id': 'states-layer-outline',
    'type': 'line',
    'source': {
      'type': 'geojson',
      'data': 'test.js'
    },
    'paint': {
      'line-color': 'rgba(255, 0, 0, 1)',
      'line-width': 4
    }
  });  

[ https://jsfiddle.net/tny37kbu/ ]


至少你可以将一个多边形GeoJSON添加为线图层,而不必创建另一个GeoJSON:https://github.com/mapbox/mapbox-gl-js/issues/3018#issuecomment-277117802 - Worm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接