如何使指针在Google地图中居中?

时间:2014-07-29 08:45:01

标签: android google-maps

我正在使用谷歌地图编写某种导航程序,问题是当我改变我的位置时,我希望地图跟随我并让我保持在屏幕的中心。 到目前为止,这就是我所拥有的。

map.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() {
            @Override
            public void onMyLocationChange(Location lastKnownLocation) {
                try {
                    CameraUpdate center = CameraUpdateFactory.newLatLng(new LatLng(map.getMyLocation().getLatitude(),
                            map.getMyLocation().getLongitude()));
                    CameraUpdate zoom = CameraUpdateFactory.zoomTo(getZoomLevel());

                    map.moveCamera(center);
                    map.animateCamera(zoom);

                } catch (NullPointerException ex) {
                    ex.printStackTrace();
                }
            }
        });

现在的问题是它一直跟着我,而且我一直在屏幕上移动,例如开车,但我并不总是在地图的中心。

1 个答案:

答案 0 :(得分:1)

请尝试这种方式,希望这有助于您解决问题。

map.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() {
     @Override
     public void onMyLocationChange(Location lastKnownLocation) {
        try {
              if (lastKnownLocation != null) {
                  map.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lastKnownLocation.getLatitude(),lastKnownLocation.getLongitude()),Constants.MAP_ZOOM));
              }
        } catch (NullPointerException ex) {
           ex.printStackTrace();
        }
     }
});