我在2个不同标签中的应用程序中使用了2个Google Map实例。 相应选项卡中的所有活动均由TabGroupActivity管理。
当我在第一个标签页面并且顶部是我的地图活动时,我可以使用asynctask添加标记。
但问题出现的时候,我转到其他标签页面上的前一个标签'地图活动,当前标签的地图活动调用网络服务获取地图数据但无法更新标记,我看到我添加的所有标记在另一个标签的活动上。
有人可以为此建议一些解决方法吗?这将是一个很大的帮助。
编辑:代码
的onCreate(){
if (status == ConnectionResult.SUCCESS) {
if (mMapCard == null) {
// Try to obtain the map from the SupportMapFragment.
// mMap = ((MapFragment) getFragmentManager().findFragmentById(
// R.id.mapFragement)).getMap();
mapFragement = ((MapFragment) getFragmentManager()
.findFragmentById(R.id.mapFragement));
System.out.println("mMapCard object" + mapFragement.getId());
mMapCard = mapFragement.getMap();
// mMapCard = ((SupportMapFragment)
// getSupportFragmentManager().findFragmentById(R.id.mapFragement)).getMap();
}
} else {
int requestCode = 10;
Dialog dialog = GooglePlayServicesUtil.getErrorDialog(status, this,
requestCode);
dialog.show();
}
} setUpMapForCurrentLocation(); fetchCardMapItems(); //此方法添加了Card。在这里,我将标记添加到地图并将所有标记对象存储在列表中以删除暂停时的标记
@覆盖 protected void onPause(){ super.onPause();
if (MarkerListHashMap != null && MarkerListHashMap.size() > 0) {
Toast.makeText(CardMapActivity.this, MarkerListHashMap.size() + "",
Toast.LENGTH_LONG).show();
for (int i = 0; i < MarkerListHashMap.size(); i++) {
MarkerListHashMap.get(i).remove();
}
}
mMapCard.clear();
System.gc();
}
............................................... ..........
其他Map活动中也有相同的代码 - 在其他代码中有一些不同的实例。
先谢谢。 拉克什