矢量图块图层未更新



使用 openlayers 4.2.0 使用ol.layer.VectorTile层时,我遇到了一个奇怪的问题。

对于ol.source.VectorTile,我正在使用tileLoadFunction对tileGrid中的磁贴发出网络请求。我的地图上有大约 100 个图层中的点。用户可以选择某些选项,这些选项将转到重新定义VectorTile图层和VectorTile源的功能,并移除和读取图层,以便在地图上绘制新点。

切换层几次后,事情似乎很好,但最终,tileLoadFunction停止被调用。有时它会被调用 3 次或其他什么,但随后停止被调用,即使tileGrid中有更多的瓷砖。我不确定发生了什么,比如它正在达到某种限制或阻止它调用tileLoadFunction?我试图在源上使用.refresh()以防这是问题所在,但这没有任何帮助。

我检查了给定磁贴的数据中是否有任何特征,如果没有,我跳过了该磁贴的tile.setFeatures()函数。 这在事情的计划中搞砸了一些东西。

解决方案是不检查数据,如果数据没有特定切片的任何功能,则只需使用空featureCollection进行setFeatures

我遇到了同样的问题,设置tile.setFeatures([]);解决了它!

最新更新