2014-02-23 42 views
10

的LatLngBounds提供CameraUpdate是否有一个功能,允许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。所以在相机更新之前我有一个不同的投影。

我希望我做的问题清楚!

+6

您是否尝试过使用['GoogleMap.setPadding'](https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/GoogleMap?hl=pl# setPadding%28int,%20int,%20int,%20int 29%)? –

+4

就是这样,谢谢!我应该仔细阅读文档;)请发表回复,以便我可以接受它... – ercan

回答

6

这是一套填充映射的例子...

设置在地图上填充。

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

*尺寸以像素为单位

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

都是诠释左,上,右,下

从@MaciejGorsky,这里是文档...

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