MapView没有出现这个?

时间:2011-07-14 01:16:05

标签: android google-maps

我在xml中有这个布局。当我在底部运行活动时,除按钮外没有任何显示。

<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:orientation="vertical"
 android:layout_height="fill_parent">
<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:orientation="horizontal"
android:layout_height="fill_parent">


    <Button
    android:id="@+id/sat"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Satellite"
    android:onClick="myClickHandler"
    android:padding="8px"/>
    <Button
    android:id="@+id/street"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Street"
    android:onClick="myClickHandler"
    android:padding="8px"/>
    <Button
    android:id="@+id/traffic"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Traffic"
    android:onClick="myClickHandler"
    android:padding="8px"/>
    <Button
    android:id="@+id/normal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Normal"
    android:onClick="myClickHandler"
    android:padding="8px"/>
 </LinearLayout>

<com.google.android.maps.MapView
android:id="@+id/mapView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:apiKey=
/>
 </LinearLayout>

出于某种原因,我唯一可以看到的是顶部的按钮。我的活动运行时,地图不会显示。

这是我在MapActivity中的代码。

public class meeting_map extends MapActivity{
private MapView mapView;

@Override
protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.mapview);

    mapView = (MapView)findViewById(R.id.mapView);
    mapView.setBuiltInZoomControls(true);
}
public void myClickHandler(View target){
    switch(target.getId()){
    case R.id.sat:
        mapView.setSatellite(true);
        break;
    case R.id.street:
        mapView.setStreetView(true);
        break;
    case R.id.traffic:
        mapView.setTraffic(true);
        break;
    case R.id.normal:
        mapView.setSatellite(false);
        mapView.setTraffic(false);
        mapView.setStreetView(false);
        break;

    }
}
@Override
  protected boolean isLocationDisplayed(){
    return false;
}
@Override
protected boolean isRouteDisplayed() {
    // TODO Auto-generated method stub
    return false;
}


}

也许我错过了什么。

1 个答案:

答案 0 :(得分:1)

如果你改变第二个LinearLayout的android:layout_height =“fill_parent”到android:layout_height =“wrap_content”和MapView的android:layout_height =“wrap_content”到android:layout_height =“fill_parent”那么它应该可以工作(假设您在AndroidManifest.xml文件中设置了有效的API密钥+ android.permission.INTERNET。)