在GoogleMap中设置LatLangBound

时间:2015-11-30 08:12:56

标签: android google-maps android-fragments

我正在尝试在地图中设置LatLangBound。当我给SouthWest LatLang& NorthEast Latlang印度,我收到的错误信息是SouthWest的纬度> NorthEast的纬度(28.5827577> 20.593684)。 当我开始MapFragment时,是否还有其他方式可以显示印度地区。

我的代码段是。

private LatLngBounds India=new LatLngBounds(new LatLng(28.5827577,77.0334179),new LatLng(20.593684,78.96288));
mapView = (MapView) rootview.findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
mMap = mapView.getMap();
try {
    mMap.setMyLocationEnabled(true);
    mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(latitude, latitude), 6));
    mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(India.getCenter(),6));
    CameraPosition cameraPosition =new CameraPosition.Builder().target(new LatLng(latitude,latitude)).zoom(2).bearing(0).tilt(90).build();
    mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}catch (Exception e) {
    e.printStackTrace();
}
return rootview; 

2 个答案:

答案 0 :(得分:0)

使用com.google.android.gms.maps.model.LatLngBounds.Builder

根据您的源代码,它应该如下所示:

Builder builder = new LatLngBounds.Builder();
builder .include(currentLocationLatLng);
builder .include(targetLocationLatLng);
// pan to see all markers on map:
LatLngBounds bounds = builder .build();
googleMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, 3));

答案 1 :(得分:0)

我最后解决了我的问题。

mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(latitude,longitude),7.0f));

它会将相机焦点移动到给定的LatLng()并缩放地图。