保存 Android MapView 并重新加载

Posted

技术标签:

【中文标题】保存 Android MapView 并重新加载【英文标题】:Save an Android MapView and reload 【发布时间】:2010-07-16 11:48:01 【问题描述】:

我发现了很多关于保存 Activity 并重新加载它的 *** 帖子。 我的问题:如何在重新加载相同的 mapview 后使用 MapView 进行 Activity ? 在活动和视图之间切换的最佳方式是什么? 谢谢:卡罗利

【问题讨论】:

【参考方案1】:

如果我正确理解您的问题,您需要从其他活动返回到您第一次运行的 MapActivity 的同一实例。

为了做到这一点,从您的其他活动中,只需使用带有标志FLAG_ACTIVITY_REORDER_TO_FRONT 的 Intent 启动 MapActivity。这不会创建您的 MapActivity 的不同实例,而是将您的初始实例放在前面。

【讨论】:

嗨!感谢您的回答。我试过了:活动开始了(日志文件说的),但它不会出现在视图的前面,所以我看不到它:(你怎么看?意图映射=新意图(BottomLayout.context, Map.class); map.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); mainWindowActivity.startActivity(map); 不清楚您在代码中实际做了什么。从您的评论中,我了解到您只有一个带有 MapView 的活动,并且您以某种方式在其上添加了一个视图。如果是这种情况,您可以在视图上使用 setVisibility(View.GONE) ,它会消失。尝试将部分代码添加到您的问题中,以便可以理解您到底在做什么。因为我现在只是猜测。 在文档上,mainWindowActivity 是 MapActivity,我正在尝试使用它来设置内容和布局。 . . 您将活动与视图混合在一起。通常我们有一种活动,一种观点。当有人单击 MapActivity 中的某个按钮时,您不应在该 Activity 上使用 setContentView(),而应启动一个新 Activity。在该新 Activity 的 onCreate() 函数中,使用 setContentView()。总而言之,为您的流程使用多个活动,每个活动都有不同的视图。这样,当您单击返回时,您会以自己的视图转到上一个活动。希望我很清楚。【参考方案2】:

如果您的意思是保存当前视图,您始终可以保存当前中心点和缩放级别,以便您可以将地图重新​​居中到最后一个位置。但是,如果您的意思是从 MapActivity 转到新的 Activity 并返回,则视图应该仍然相同。

【讨论】:

在我的应用程序中,我有一个 Activity (MapActivity) 和许多其他视图女巫代表另一个屏幕。如果我开始一个视图并且我想回到 Map Activity 我不能。 . .我有一个新活动,女巫不太好:(

以上是关于保存 Android MapView 并重新加载的主要内容,如果未能解决你的问题,请参考以下文章

MapView 问题 - 地图重新加载时引脚更改颜色

Android“你好,MapView”教程——地图瓦片不加载

将 MapView 添加到 Android 应用程序时,获取跨加载器异常

Android Studio:加载时MapView应用崩溃

管理 MapView 的缓存

Android中百度地图如何重新获取坐标