2011-07-19 35 views
0

我有两个活动,一个显示地图视图和另一个listview,主要目标是两个应该保持同步显示他们两个的数据。获取android的MapView投影的最后一个状态

地图上显示的兴趣点应显示在列表中,反之亦然。 问题是,我在地图中心(150英里左右)的搜索中有一个名为“搜索区域”的功能,只显示当前显示的地图视图区域中可见的结果。现在在地图上查看其工作正常,并在列表视图太工作正常,如果我不移动POIs已显示后周围的地图。

因为我使用地图视图中的投影来获取项目的x,y,所以当我移动地图并切换到列表视图时,它获取项目列表并开始查找项目的x,y,但是作为地图已被移动,有些项目可以添加或删除到listview只是因为我移动地图,现在投影返回新的x,y为当前显示区域下的项目。

但在空闲情况下,我应该只显示列表视图中显示在mapview中的那些项目。 。例如,在地图上显示的特定区域中显示了2个项目,现在我在地图中移动,并切换到列表视图。现在,列表视图将从服务器获取新列表,并尝试查找它们的x,y从mapview的投影,但它会根据新的地图状态包括/排除少数项目。

如何获取mapview投影的初始状态(在我显示原始项目时),以便我可以再次显示相同的项目列表。

我知道它特定于应用程序逻辑的位,但我仍然想获得地图视图投影的初始状态。

在此先感谢

+0

任何人的帮助? – dcool

回答

0

我回答我的问题,这件事情是不可能的Android,因为Android的MapView类是单实施,不管有多少MapView的对象,你有它们将共享相同的内部变量(例如Projection,它会在您更新地图视图后立即更新,以便移动到之前的mapview将显示与您刚才切换的地图相同的投影状态)。