Android Google地图API V2中心标记

有没有办法让地图尽可能放大,同时还要把所有的标记放在屏幕上。 我有六个标记形状不统一。 我正在考虑只是把他们的中心和地图定位到那个地方,但是我还是不知道在编程上我可以放大地图。

每次创build地图时,这些标记都会更改位置。 理想情况下,我会有一个放大地图的脚本,所有都包含在视图中。

所以你明白了。 我从一个循环中的下面一行json创build标记。

mMap.addMarker(new MarkerOptions().position(new LatLng(lat,lng)).title(c.getString("title"))); 

Solutions Collecting From Web of "Android Google地图API V2中心标记"

您应该使用CameraUpdate类(可能)执行所有程序化的地图移动。

为此,首先计算所有标记的界限,如下所示:

 LatLngBounds.Builder builder = new LatLngBounds.Builder(); for each (Marker m : markers) { builder.include(m.getPosition()); } LatLngBounds bounds = builder.build(); 

然后使用工厂获取移动描述对象:CameraUpdateFactory:

 int padding = 0; // offset from edges of the map in pixels CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, padding); 

最后移动地图:

 googleMap.moveCamera(cu); 

或者如果你想要一个animation:

 googleMap.animateCamera(cu); 

*从另一个post了解: Android地图V2缩放显示所有的标记