Android MapActivity的3个实例
它在Maps API中明确指出,每个进程只允许一个映射活动。 我的问题是我需要3个,它不一定是3个活动,但它是3个实例。 我创建了一个Travel agent应用程序,允许您预订酒店和活动。请关注一下我的应用程序的hotels功能,当您搜索酒店时,您自然可以看到地图上的所有内容,这是我需要的MapActivity的第一个实例,用于显示所有酒店。 如果从ListActivity或MapActivity中选择hotel,则可以在HotelInfo活动中查看该酒店的信息。HotelInfo活动还引用了MapActivity,它可以让您在地图上看到特定的酒店,而无需任何其他酒店。。。。(下一步将是向该功能添加路线,但该功能尚未开发) 在执行以下场景时会发生错误:Android MapActivity的3个实例,android,api,maps,instance,Android,Api,Maps,Instance,它在Maps API中明确指出,每个进程只允许一个映射活动。 我的问题是我需要3个,它不一定是3个活动,但它是3个实例。 我创建了一个Travel agent应用程序,允许您预订酒店和活动。请关注一下我的应用程序的hotels功能,当您搜索酒店时,您自然可以看到地图上的所有内容,这是我需要的MapActivity的第一个实例,用于显示所有酒店。 如果从ListActivity或MapActivity中选择hotel,则可以在HotelInfo活动中查看该酒店的信息。HotelInfo活动还引用了
如文档所述,只有一个
MapActivity
。对于所描述的场景,不需要多个MapActivity
。根据用户交互(例如图标点击和后退按钮)更改覆盖图和地图中心/缩放级别。基本上我让android为我做,我在应用程序中有一个MyMapActivity。我确实是从包含不同值的意图开始的,对于这些不同的值,覆盖层被填充并添加到地图中。我的问题是,当我恢复已使用的MyMapActivity时,它会加载以前的地图显示,即使该MyMapActivityInstance已被OnDestroy破坏。我现在正在检查是否将一些代码移动到onResume而不是onCreate上可以解决我的问题。我会接受答案,尽管它没有说明任何新的内容。。。我已经将添加覆盖并将缩放和贴图中心设置为onResume函数的代码移动到了onResume函数中,这就解决了我的问题,问题是MapActivity为保存网络操作而进行的缓存,即使我恢复了旧实例,MapActivity也会从Activities存储中获取最新的分幅。如果你问我,谷歌的不良行为…@codeScriber:MapActivity
有记录的限制。您阅读了文档,忽略了它,因此您的代码无法正常工作。如果您不希望遵守此限制,请随意使用其他地图实现(例如,开放街道地图)。理想情况下,一个应用程序可以有多个MapActivity
实例。理想情况下,我会有更多的头发。我们并不是生活在一个理想的世界里,我秃顶的脑袋可以证明这一点。我同意,但是我有一个规范要完成,并且使用你的方法(意味着每当我启动地图活动时,使用SINGLE_TOP flag),我会在活动堆栈中释放活动(因为它会被带到最前面),所以基本上你所说的我不能应用于我的规范。你是对的,这不是一个完美的世界,从来都不是,但因为谷歌地图应用程序确实有这个功能是的,我认为这是他们的坏行为,而且我只有一个MapActivity,但有多个实例,在我看来,创建另一个进程来承载多个实例是可怕的。