我尝试在Mapbox GL内重现下面的捕获。颜色是为了可读性而添加的,但是可以自定义颜色并不是强制性的。关键的方面是不同的线路权重。mapbox gl geojson风格
我在Mapbox GL here和there阅读造型。添加尽可能多的样式图层以确保不同的权重不是一种选择。我用两千个LineStrings试了一下,表演不能接受。
我已经抓取了mapbox GL中数据驱动样式的几个github问题there,但我无法弄清楚我需要的是在路线图上。
低于GEOJSON的MWE,我用它来生成上面的图像。
{
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "LineString",
"coordinates": [[2.3420237, 48.9437736],
[2.3430249, 48.9462233],
[2.3428777, 48.9469687]]
},
"type": "Feature",
"properties": {
"color": "#0000FF",
"weight": 5
}
},
{
"geometry": {
"type": "LineString",
"coordinates": [[2.3880359, 48.9077387],
[2.3885364, 48.9072262],
[2.3886376, 48.9071376],
[2.3891088, 48.9066521]]
},
"type": "Feature",
"properties": {
"color": "#FF0000",
"weight": 15
}
}
]
}
感谢您的示例,我已经测试了这种方法,结果性能不佳。我会尝试使用矢量图块。与此同时,你知道是否有(是/将会)直接从geojson中读取线样式属性的方法吗? –
目前不与'lineString'几何类型,但这将很快改变[数据驱动样式](https://github.com/mapbox/mapbox-gl-js/issues/2430)。很快你就可以使用每个'properties'对象中定义的值来定义线类型的paint属性。 – tristen