我有一个标签页选项卡,点击此选项卡后,我想将内容设置为OSM Map(其setContent())。我这样做:
View bottomMap = createBottomTabView(bottomTabHost.getContext(), "Map", R.drawable.map);
bottomTabHost.addTab(bottomTabHost.newTabSpec("Map").setIndicator(bottomMap).setContent(new Intent(this, OSMMapClass.class)));
public class MapBottomTab extends MapActivity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
org.osmdroid.views.MapView mapView = new org.osmdroid.views.MapView(this, 256);
setContentView(mapView);
}
}
加载Map的变化应该是什么???
答案 0 :(得分:0)
您只需要在LinearLayout中的xml中定义地图布局,例如像
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:id="@+id/mapLayoutFinal"
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- you do your map layout (<org.osmdroid.views.MapView ... /> ) -->
</LinearLayout>
然后在你的活动中在create方法中声明这个布局,如下所示:
super.onCreate(savedInstanceState);
setContentView(R.layout.main_fragment);
LinearLayout rl = (LinearLayout) findViewById(R.id.mapLayoutFinal);
this.mOsmv.setLayoutParams(new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
rl.addView(mOsmv);
这应该有效。 PS:我使用的是一个online osmdroid,我只是定义了活动中的所有内容,只有一个线性布局,我将视图粘贴在那里。