使用openlayers 4.2.0使用ol.layer.VectorTile图层时遇到一个奇怪的问题。对于ol.source.VectorTile我使用tileLoadFunction来为我的tileGrid中的tile创建网络请求。我在地图上有大约100个点。用户可以选择某些选项,这些选项将转到重新定义VectorTile图层和VectorTile源的函数,并删除并重新读取图层,以便在地图上绘制新点。在切换图层几次后,事情似乎很好,但最终,tileLoadFunction停止被调用。有时它会像3次或者其他东西一样被调用,但随后停止被调用,即使tileGrid中有更多的tile。我不确定发生了什么,比如它达到某种限制或阻止它调用tileLoadFunction的东西?我试图在源上使用.refresh(),以防这是问题,但这没有任何帮助。任何想法将不胜感激。谢谢!
答案 0 :(得分:0)
想出来。我检查了给定图块的数据中是否有任何特征,如果没有,我跳过了该图块的tile.setFeatures()函数。这在事物的计划中搞砸了。解决方案是不检查数据,如果数据没有特定磁贴的任何功能,只需使用空的featureCollection setFeatures。