私のアプリケーションにはタブレイアウト(TabHost、TabSpec)が含まれています。
アプリケーションで2つのマップビューを使用しています。したがって、1つのmap_activityで衛星ビューを有効にしてから他のmap_activityに移動すると、他のマップも衛星ビューに表示されます。1つのmap_activityをUSAに向かってドラッグすると、他のマップビューも以前にどこを指していても自動的にUSAに向かってドラッグされます。
一般に、android:process = ":map1"とandroid:process = ":map2"を使用して異なるプロセスで2つのアクティビティを実行すると、上記の問題を解決できます。ここで参照しました...
しかし、タブバー(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 に答える