kikitte/MVTImageryProvider

矢量瓦片中的图层显示顺序有点问题

xiangyangguang opened this issue · 5 comments

您好,使用后发现以下问题:
图层显示顺序应根据style里的layers数组的顺序进行显示,组数index为0的图层显示在最下面,经测试symbol类型的图层无法显示在fill类型的图层下面,但是可以显示在line类型的图层下面,请问该问题如何解决,望回复!

最好能够提供可以复现的style例子,这有助于我们节省大量时间来重复你的问题。

style.json
以上是测试数据对应的style文件,可以手动调整layers的顺序进行测试

是有这个问题。可以先确认下官方的mapbox gl js加载这个stylr是否有你描述的情况。 如果没有,那就是说用来渲染的mapbox renderer可能有问题,相关代码Mapbox-vector-tiles-basic-js-renderer,如果你有时间的话可以从这里出发看下style怎么安排图层渲染的https://github.com/kikitte/Mapbox-vector-tiles-basic-js-renderer/blob/ee28a123dd1c4d4583da630f63652f1e4dc9687b/src/basic/renderer.js#L401。
另外也可以看下 @hongfaqiu 同学的https://github.com/hongfaqiu/MVTImageryProvider项目是否可用。

我那个项目和@kikitte 大佬的实现逻辑是一样的,所以应该不会有其它的不同

https://github.com/hongfaqiu/MVTImageryProvider 使用的第三方库 mvt-basic-render,这个我测过也存在这个问题;https://github.com/kikitte/Mapbox-vector-tiles-basic-js-renderer/blob/ee28a123dd1c4d4583da630f63652f1e4dc9687b/src/basic/renderer.js 的代码我也看过,貌似没有包含具体如何渲染的代码,应该是mapbox-gl底层做的渲染,估计跟mapbox-gl版本有关。