使用具有不同填充值的LatLngBounds定义CameraUpdate

时间:2014-02-23 15:24:16

标签: android google-maps google-maps-android-api-2

是否有一个函数允许为MapFragment的不同边指定默认填充值,即类似于

CameraUpdateFactory.newLatLngBounds(LatLngBounds bounds, int padding)

已经存在,但是类似

CameraUpdateFactory.newLatLngBounds(LatLngBounds bounds, int paddingTop, int paddingLeft, int paddingBottom, int paddingRight)

为什么我需要这个:在我的MapFragment中,我在顶部有一个半透明层。因此,我需要在顶部比在底部更宽的填充。

enter image description here

我发现了类似的问题:Offseting the center of the MapFragment for an animation moving both the target lat/lng and the zoom level。但是,在我的情况下,获取X像素的投影和滚动是不够的,因为我不仅要滚动(平移)。我使用带有newLatLngBounds(边界,填充)的CameraUpdate,它应该两者 zoom pan。所以在相机更新之前我有不同的投影。

我希望我明白这个问题!

1 个答案:

答案 0 :(得分:7)

这是设置填充以映射...

的示例

在地图上设置填充。

此方法允许您在地图上定义可见区域,通过在地图的四个边缘中的每一个上设置填充来向地图发信号通知边缘周围的地图部分可能被遮挡。地图功能将适应填充。例如,缩放控件,指南针,版权声明和Google徽标将移动到适合定义区域内,相机移动将相对于可见区域的中心等。

*大小以像素为单位

GoogleMap.setPadding(     10,      20,      20,     50);

所有都是Int left,top,right,bottom

来自@MaciejGorsky的

,这是文档......

https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap?hl=pl#setPadding(int, int, int, int)