我的折线走出焦点.我正在使用 map.moveCamera(CameraUpdateFactory.newLatLngZoom(route.startLocation, 10));
但这不是解决方案.如何解决这个问题
要解决您的问题,首先要了解谷歌地图相机的工作原理.当你这样做时:
map.moveCamera(CameraUpdateFactory.newLatLngZoom(route.startLocation, 10));
相机将起始位置对焦于中间,10为缩放级别.我们需要的是集中路线.为此,我们需要使用latLng边界.一旦我们创建了一个包含两个或更多latLng的边界,我们就可以将它设置为地图的相机.这样,您的路线对您的用户可见.
创建包含路线上所有开始和结束标记的边界:
LatLngBounds.Builder builder = new LatLngBounds.Builder(); builder.include(startMarker); builder.include(endMarker); LatLngBounds bounds = builder.build();
然后使用工厂获取运动描述对象CameraUpdateFactory
::
int padding = 0; // padding around start and end marker CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, padding); googleMap.animateCamera(cu);