1

警告:菜鸟警报。

我对 Android 和 OSM 都很陌生。我想要的只是一张要显示的地图。

Google 的 MapView 可以是 main.xml 的根,OSM 的 MapView 也可以是根吗?

这是我当前的 main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

<org.osmdroid.views.MapView
    android:id="@+id/map"
    android:layout_width="fill_parent"
    android:layout_height="0dip"
    android:layout_weight="1"
    tilesource="MapquestOSM" />

</LinearLayout>

这是我的活动:

public class AndroidManiTestActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.id.map);
    }
}

我收到以下错误:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.anny/com.anny.AndroidManiTestActivity}: 

Android.content.res.Resources$NotFoundException: Resource ID #0x7f050000 type #0x12 is not valid

编辑:我正在运行 osmdroid 3.0.8 和 slf4j 1.5.8。

4

1 回答 1

2

您的 setContentView(.. ) 需要采用 .layout 参数而不是 .id,所以它是

setContentView(R.layout.main);

之后,您可以使用以下行引用 .map:

findViewById(R.id.map);
于 2012-05-09T18:33:43.497 回答