我的应用程序包含选项卡布局(TabHost,TabSpec)。
我在我的应用程序中使用了两个地图视图。因此,如果我在一个 map_activity 中启用卫星视图,然后转到另一个 map_activity,则其他地图也会显示在卫星视图中,如果我将一个 map_activity 拖向美国,则其他地图视图也会自动拖向美国,无论它之前指向哪里。
我一般来说,如果我们使用 android:process=":map1" 和 android:process=":map2" 在不同的进程中运行两个活动,那么我们可以解决上述问题。我在这里提到......
但是我们如何在标签栏(TabHost,TabSpec)应用程序中解决这个问题?
问问题
481 次
1 回答
0
这不是一个完美的解决方案,但它会完成工作,整理一下。
在您需要地图视图的那些选项卡中,您可以在代码中创建它:
mMapView = new MapView(this, MAPS_KEY);
mMapView.setClickable(true);
LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
mMapView.setLayoutParams(params);
FrameLayout mapFrame = (FrameLayout) findViewById(R.id.map_container);
mapFrame.addView(mMapView);
xml 是不言自明的(如果不只是请求)。
这种方法的问题在于,当 mapview 被实例化时,它会记住旧位置,因此您需要将地图移动到您希望它所在的新位置。可以这样做:
mMapView.getController().animateTo(location);
mMapView.getController().setZoom(GlobalValues.EMERGENCY_MAP_ZOOM_LVL);
于 2012-06-11T11:10:43.753 回答