1

我有一个选项卡选项卡,单击此选项卡时,我想将内容设置为 OSM 地图(其 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);
      }
}

加载地图的更改应该是什么......??

4

1 回答 1

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>

然后你在你的活动中声明这个布局的创建方法是这样的:

    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:我使用离线 osmdroid,我只定义了活动中的所有内容,并且只定义了一个线性布局,我在那里粘贴了我的视图。

于 2012-11-29T12:17:54.400 回答