我正在使用谷歌地图编写某种导航程序,问题是当我改变我的位置时,我希望地图跟随我并让我保持在屏幕的中心。 到目前为止,这就是我所拥有的。
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();
}
}
});
现在的问题是它一直跟着我,而且我一直在屏幕上移动,例如开车,但我并不总是在地图的中心。
答案 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();
}
}
});