我正在使用带有默认位置的MapView。如果我转到地图上的其他位置然后更改设备的方向,则方向不会保存我以前的位置。它从默认位置开始!
我该如何避免这种情况?我不想为我的应用程序禁用屏幕更改。
答案 0 :(得分:2)
使用方法onRetainNonConfigurationInstance()
保存位置,然后使用getLastNonConfigurationInstance()
中的onCreate()
恢复所选项目。
@Override
public Object onRetainNonConfigurationInstance() {
return mapView.getMapCenter();
}
@Override
protected void onCreate(Bundle icicle) {
Geopoint center = (Geopoint) getLastNonConfigurationInstance();
if (point != null)
mapView.getController().animateTo(center);
}