开放街道地图(osmdroid)显示灰色瓷砖不在PC中映射

时间:2014-07-09 13:30:15

标签: java android android-mapview openstreetmap osmdroid

我正在使用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

1 个答案:

答案 0 :(得分:7)

我用SD卡创建了一个模拟器,解决了这个问题