【发布时间】:2017-06-21 08:43:09
【问题描述】:
我在我的 android 应用程序上使用谷歌地图,将多个多边形加载到地图上,这会导致严重滞后。 我的地图被放大了很多,所以很多多边形甚至都没有显示在屏幕上(但仍然会导致延迟,因为它们存在)。
有没有办法只显示屏幕中包含的多边形并隐藏其他多边形? (根据屏幕视图显示或隐藏多边形)
谢谢
【问题讨论】:
标签: android google-maps android-maps-v2 android-maps
我在我的 android 应用程序上使用谷歌地图,将多个多边形加载到地图上,这会导致严重滞后。 我的地图被放大了很多,所以很多多边形甚至都没有显示在屏幕上(但仍然会导致延迟,因为它们存在)。
有没有办法只显示屏幕中包含的多边形并隐藏其他多边形? (根据屏幕视图显示或隐藏多边形)
谢谢
【问题讨论】:
标签: android google-maps android-maps-v2 android-maps
获取可见部分的边界,如下所示:
LatLngBounds bounds = mMap.getProjection().getVisibleRegion().latLngBounds;
然后确定您的多边形是否在可见部分边界内(通过为每个多边形顶点调用bounds.contains(....))。如果没有,就不要画多边形。
当然,您需要处理相机更改事件以重新计算可见边界并在需要时绘制缺失的多边形(当它们的地图部分变得可见时)。
【讨论】: