如何仅在初始加载时将我的MapView居中?

问题描述:

我正在使用MapActivity处理Android应用程序,并且无法以适当的方式管理MapView状态。如何仅在初始加载时将我的MapView居中?

基本上我有一个活动,当它退出时启动MapActivity,此时我需要居中放置地图。所有其他时间,我都需要它基本上保留它的最后状态,而不是改变它的位置或缩放级别或任何东西。只要MapActivity没有完全销毁,它在导航到其他活动时工作正常,但是我需要地图在设备方向更改时保留它的状态。由于大多数Android开发人员都知道,当发生这种情况时,Activity被破坏并重新创建,此时我的MapView重新居中,我不希望它。

如何安排我的代码,以便在MapActivity从其他活动启动时执行我的居中例行程序,否则不执行我的居中过程?

返回非nullonRetainNonConfigurationInstance()。然后,无论您将地图集中在哪里,请致电getLastNonConfigurationInstance()。如果是null,center;如果它不是null,则不要居中。

+0

工程很好!谢谢。当我将Android配置为立即销毁活动(开发设置),然后使用后退按钮离开MapActivity时,它不会从我的其他活动启动时将地图重新​​居中。不知道那里发生了什么,但它可能不相关。 – rushinge 2011-03-24 17:51:41