使用setPaintProperty修改地图框样式的图层颜色

时间:2018-01-21 01:35:50

标签: mapbox-gl-js

我使用Mapbox的户外v10作为我的基本地图样式。我正在尝试更新特定图层的颜色但遇到错误。

我希望这会将道路更新为红色......

var map = new mapboxgl.Map({
  container: this.mapContainer,
  center: homePoint.geometry.coordinates,
  style: 'mapbox://styles/mapbox/outdoors-v10',
  interactive: false,
});    

map.on('load', function () {
  map.setPaintProperty('road-primary','fill-color', 'rgb(255,0,0)')
}

但后来我收到了这个错误:

enter image description here

1 个答案:

答案 0 :(得分:2)

户外风格中包含的road-primary图层为line类型。因此,您的setPaintProperty来电应修改line-color而不是fill-color

map.setPaintProperty('road-primary', 'line-color', 'rgb(255, 0, 0)');

请参阅此处的文档:https://www.mapbox.com/mapbox-gl-js/style-spec#paint-line-line-color