Android LatLngBounds或CameraUpdate在地图精简模式下不显示所有点

Android LatLngBounds或CameraUpdate在地图精简模式下不显示所有点,android,google-maps,google-maps-android-api-2,Android,Google Maps,Google Maps Android Api 2,我有一张地图,其中显示了一系列由多段线链接的点,地图是LiteMode,但在某些情况下,当使用这些点创建LatLngBounds并更新相机时,一些点被排除在地图之外 LatLngBounds.Builder builder = new LatLngBounds.Builder(); for (LatLng latLng : listPoints) { builder.include(latLng); } LatLngBounds bounds = bu

我有一张地图,其中显示了一系列由多段线链接的点,地图是LiteMode,但在某些情况下,当使用这些点创建LatLngBounds并更新相机时,一些点被排除在地图之外

  LatLngBounds.Builder builder = new LatLngBounds.Builder();
    for (LatLng latLng : listPoints) {
        builder.include(latLng);
    }
    LatLngBounds bounds = builder.build();
    int padding = 0; //offset from edges of the map in pixels
    CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, padding);
    map.moveCamera(cu);
我怎样才能解决这个问题

通过多段线,我们可以看到,即使更改焊盘,它们也看不见: 因此,如果我删除LiteMode:
我解决了这个问题
根据谷歌地图,Lite模式表示:

摄影机位置、缩放和动画
支持?部分
可以设置相机目标和缩放,但不能设置倾斜或方位缩放级别在lite模式下四舍五入到最接近的整数。调用GoogleMap.moveCamera()将为您提供另一张静态地图图像。有关设置和操作摄影机的详细信息,请参见更改视图

我的解决方案是从地图中获取可见区域并进行比较,以查看列表中的任何点是否在该区域之外。如果是,我应用ZoomOut将相机缩小到足够大的范围,以便所有点都在可见区域内

    for (LatLng latLng : listPoints) {
                if (!(map.getProjection().getVisibleRegion().latLngBounds.contains(latLng))) {
                    map.moveCamera(CameraUpdateFactory.zoomOut());
                    break;
                }
            }
显然,据我所知,问题在于,如果缩放级别为7.4,通过将其四舍五入到最接近的整数来正确显示地图上的所有点:7,则与禁用的LiteMode四舍五入到8时相比,有价值的.4边距会丢失


我不知道这是否最理想的选择,但问题已经解决了。欢迎任何意见!:)

考虑到这些限制,您的解决方案是最佳选择。当这解决了你的问题时,你应该接受你自己的答案,这样才能帮助别人