异常应用填充后,视图大小过小。 (使用newLatLngBounds(LatLngBounds,int))

时间:2018-06-22 17:34:55

标签: android google-maps

我正在开发一个android应用。在这个应用程序中,我正在片段中显示一个MapView。当我在“活动”中包含以下代码时,我的应用程序崩溃了。

 LatLngBounds.Builder builder = new LatLngBounds.Builder();
 builder.include(pickupLatLng);
 builder.include(destinationLatLng);
 LatLngBounds bounds = builder.build();

 int width = getResources().getDisplayMetrics().widthPixels;
 int padding = (int) (width*0.2);

 CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds, padding);
 mMap.animateCamera(cameraUpdate);
 mMap.addMarker(new MarkerOptions().position(pickupLatLng).title("pickup location").icon(BitmapDescriptorFactory.fromResource(R.mipmap.ic_pickup)));
 mMap.addMarker(new MarkerOptions().position(destinationLatLng).title("destination"));

此行显示错误:

mMap.animateCamera(cameraUpdate);

1 个答案:

答案 0 :(得分:0)

当填充大于高度时,会发生问题。考虑屏幕高度:

int width = getResources().getDisplayMetrics().widthPixels;
int height = getResources().getDisplayMetrics().heightPixels;
int padding = (int) (Math.min(width, height)*0.2);