使用newLatLngBounds(LatLngBounds, int)方法后,异常视图大小在应用填充后太小。

3

我正在开发一个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);

你能分享完整准确的错误信息吗? - Nico Haase
1
问题出在哪里? - Kannan_SJD
1个回答

3
当填充值大于高度时,问题就会出现。需要考虑屏幕的高度:
int width = getResources().getDisplayMetrics().widthPixels;
int height = getResources().getDisplayMetrics().heightPixels;
int padding = (int) (Math.min(width, height)*0.2);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接