将google maps android版本2设置为特定区域(在版本2中相当于zoomtospan?)

时间:2013-05-28 07:49:45

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

在我的monodroid应用程序中,我使用此代码将google地图边界设置为特定区域。

mapView.Controller .ZoomToSpan (Math.Abs (maxLat - minLat), Math.Abs (maxLong - minLong));
mapView .Controller .AnimateTo (new GeoPoint ((maxLat + minLat) / 2, (maxLong + minLong) / 2));

但是现在,通过更新到版本2无法找到zoomToSpan方法。什么是替代机制?

2 个答案:

答案 0 :(得分:0)

这就是你所需要的,

首先,获取要缩放的所有LatLng点。

让我们拿3个LatLng点,

LatLngBounds bounds = new LatLngBounds.Builder().include(point1)
                    .include(point2).include(point3).build();

mMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, 50));

答案 1 :(得分:0)

感谢@Basim Sherif,他的帖子让我了解代码,但是在iclude(latlng p0)的google文档中说:

  

它将考虑扩大东部和东部的界限   向西方向(其中一个可能环绕世界)和   选择两者中较小的一个。在两个方向都产生的情况下   在相同大小的LatLngBounds中,这将扩展它   向东方向。

我想如果它扩展了界限,那么我们就不能拥有确切的区域。最后我使用了这段代码:

LatLngBounds bounds= new LatLngBounds (new LatLng (minLat ,minLong ),new LatLng (maxLat ,maxLong ));
mapView .MoveCamera (CameraUpdateFactory .NewLatLngBounds (bounds ,0));

我认为其他方式应该更有效率。