首页 / 浏览问题 / 三维 / 问题详情
webgl中GeoJsonDataSource show方法控制可见性
4月16日, 2020
GeoJsonDataSource数据加载完成后,在按钮点击事件中调用datasource.show() 方法控制数据可见,场景不显示该数据,需要滚动一下滚轮才显示,请问有什么场景刷新方法可以解决该问题吗?

补充:加载时利用clustering属性做了聚合效果,不做聚合效果数据可灵活控制,未出现该问题

1个回答

您可以尝试将图层取出来,用ImageryLayer.show来控制其显隐。
三次鱼疯...  (2,530分)  名扬四海
4月17日, 2020
不好意思,麻烦问一下将图层取出来是什么意思,通过GeoJsonDataSource加载的数据在scene.layers好像是没有的。
请问您的json数据中主要是什么数据?
点,需要使用聚合功能;如果有其他解决方案可以实现聚合功能,可不使用这种加载方式
你可以试一下场景刷新scene.refresh()看看能不能解决。

如果不行的话您在联系我。
不好意思,scene.refresh()控制台提示没有这个方法,我在api文档也没有查到关于场景刷新的接口
谢谢您的悉心解答,我现在展示处理的是通过datasource方式加载的数据,需要实现聚合的功能效果,S3MTilesLayer切片缓存暂时没有找到该效果的具体解决方法。

如果不使用聚合效果,控制show方法不存在该问题。麻烦问一下除了调用已有api是否有其他方式可以实现该效果,您也可以提供一个解决思路,我这边使用动态添加移除datasource好像依然存在该问题。
如果您滑动滚轮就能显示的话,您可以尝试调用一个相机缩放的方法应该可以显示。
目前暂时先用该方法替代的,但是好像也是和缩放的级别有关系,如果偏移距离太小,好像也不显示,只有flyTo较大的距离才可以,本来想用camera forward一小段距离来 解决该问题,没什么效果。
...