中心谷歌地图标记移出当前窗口时

时间:2016-06-03 15:23:55

标签: android google-maps google-maps-markers

我有一个跟踪应用程序,用户将跟踪分配给他们的驾驶室。我能够在每次移动时将驾驶室位置居中,但这让人感觉地图正在移动而不是驾驶室移动。

我想知道当移动应用程序移出当前窗口时,无论如何我可以将驾驶室位置置于地图中心。即只要新的驾驶室位置在当时加载的地图内,我就会将动画时刻设置为新的标记位置,但当驾驶室的新位置超出当前范围时,我需要将驾驶室的新位置设置为屏幕的中心和驾驶室运动的动画(或拖动类型的动画将是很好的动画)。

请建议无论如何我都能做到这一点。

谢谢你的到来。

1 个答案:

答案 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));
    }
}