我有一个跟踪应用程序,用户将跟踪分配给他们的驾驶室。我能够在每次移动时将驾驶室位置居中,但这让人感觉地图正在移动而不是驾驶室移动。
我想知道当移动应用程序移出当前窗口时,无论如何我可以将驾驶室位置置于地图中心。即只要新的驾驶室位置在当时加载的地图内,我就会将动画时刻设置为新的标记位置,但当驾驶室的新位置超出当前范围时,我需要将驾驶室的新位置设置为屏幕的中心和驾驶室运动的动画(或拖动类型的动画将是很好的动画)。
请建议无论如何我都能做到这一点。
谢谢你的到来。
答案 0 :(得分:0)
这很简单,只需检查新位置是否包含在地图可见区域中:
@Override
public void onLocationChanged(Location location) {
LatLng current = new LatLng(location.getLatitude(), location.getLongitude());
if (!mMap.getProjection()
.getVisibleRegion()
.latLngBounds
.contains(current)) {
mMap.animateCamera(CameraUpdateFactory.newLatLng(current));
}
}