我正在使用osmdroid在我的应用中获取开放街道地图。我用所需的jar(osmdroid)构建了我的项目,并在清单中添加了所有必需的权限。但是当我尝试在Android模拟器(adt eclipse)中调试我的应用程序时,我无法看到地图,只能看到灰色瓷砖。 我的项目运行正常,因为如果我在智能手机中调试我能看到地图,问题只出在模拟器上。
我做了一些研究,但我只找到了谷歌地图解决方案的信息,但没有找到开放的街道地图(osmdroid)。 有人知道如何解决这个问题吗?
这是我在xml文件中显示地图的方式
<org.osmdroid.views.MapView
android:id="@+id/mapView"
android:layout_width="fill_parent"
android:layout_height="322dp"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true" >
</org.osmdroid.views.MapView>
这是我的主要活动
mapView = (MapView) findViewById(R.id.mapView);
mapView.setTileSource(TileSourceFactory.MAPQUESTOSM);
mapView.setBuiltInZoomControls(true);
mapView.setMultiTouchControls(true);
mapView.setUseDataConnection(true);
这些是我在清单中的权限:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" >
并将jar添加到我的构建路径
osmdroid-android-4.2.jar
osmdroid-thrid-party-4-2.jar
slf4j-1.7.7.jar
答案 0 :(得分:7)
我用SD卡创建了一个模拟器,解决了这个问题