我的应用程序包含选项卡布局(TabHost,TabSpec)。
我在我的应用程序中使用了两个地图视图。因此,如果我在一个map_activity中启用卫星视图,那么转到另一个map_activity,然后其他地图也会显示在卫星视图中,如果我将一个map_activity拖向美国,其他地图视图也会自动拖到美国,无论它在哪里指向。
我一般如果我们使用android:process =“:map1”和android:process =“:map2”在不同的进程中运行两个活动,那么我们可以解决上面的问题。我提到here ...
但是我们怎样才能在标签栏(TabHost,TabSpec)应用程序中解决这个问题呢?
答案 0 :(得分:0)
这不是一个完美的解决方案,但它会完成工作,整理。
在需要mapview的那些标签中,您可以在代码中创建它:
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);