VectorTile 图层未更新
VectorTile Layer not updating
我在使用 openlayers 4.2.0 使用 ol.layer.VectorTile
层时遇到一个奇怪的问题。
对于 ol.source.VectorTile
,我正在使用 tileLoadFunction
对我的 tileGrid 中的图块发出网络请求。我在图层中的地图上有大约 100 个点。用户可以选择某些选项,这将转到重新定义 VectorTile
图层和 VectorTile
源的功能,并删除和读取图层,以便在地图上绘制新点.
切换图层几次后一切似乎都很好,但最终 tileLoadFunction
停止调用。有时它会被调用 3 次或类似的东西,但随后停止被调用,即使 tileGrid
中有更多的图块。我不确定发生了什么,就像它达到了某种限制或阻止它调用 tileLoadFunction
的东西?我曾尝试在源代码中使用 .refresh()
以防出现此问题,但这无济于事。
我检查了给定图块的数据中是否有任何特征,如果没有,我跳过了该图块的 tile.setFeatures()
函数。这把事情的计划搞砸了。
解决方案是不检查数据,如果数据没有特定图块的任何特征,则只 setFeatures
和一个空的 featureCollection
。
我遇到了同样的问题,设置 tile.setFeatures([]);
解决了!
我在使用 openlayers 4.2.0 使用 ol.layer.VectorTile
层时遇到一个奇怪的问题。
对于 ol.source.VectorTile
,我正在使用 tileLoadFunction
对我的 tileGrid 中的图块发出网络请求。我在图层中的地图上有大约 100 个点。用户可以选择某些选项,这将转到重新定义 VectorTile
图层和 VectorTile
源的功能,并删除和读取图层,以便在地图上绘制新点.
切换图层几次后一切似乎都很好,但最终 tileLoadFunction
停止调用。有时它会被调用 3 次或类似的东西,但随后停止被调用,即使 tileGrid
中有更多的图块。我不确定发生了什么,就像它达到了某种限制或阻止它调用 tileLoadFunction
的东西?我曾尝试在源代码中使用 .refresh()
以防出现此问题,但这无济于事。
我检查了给定图块的数据中是否有任何特征,如果没有,我跳过了该图块的 tile.setFeatures()
函数。这把事情的计划搞砸了。
解决方案是不检查数据,如果数据没有特定图块的任何特征,则只 setFeatures
和一个空的 featureCollection
。
我遇到了同样的问题,设置 tile.setFeatures([]);
解决了!