我想尝试使用osmdroid实现OpenStreetMap集成,但是我遇到了一个问题,我不知道缺少了什么。情况如下:
症状:地图小部件被显示,但只有一个空的网格。
这是在我的Activity类中:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MapView mapView = new MapView(this, 256);
mapView.setTileSource(TileSourceFactory.MAPNIK);
mapView.setClickable(true);
mapView.setBuiltInZoomControls(true);
setContentView(mapView);
}
我尝试选择各种TileSources,但似乎没有任何区别。
我的清单还包括这些权限(作为<manifest>
的子级,在<uses-sdk>
之后):
<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" />
...我的模拟器可以连接到互联网,例如浏览器可以使用。
osmdroid和slf4j在构建路径中。该应用程序编译没有问题,并且不生成任何异常。
可能出了什么问题?
非常感谢!
已解决:这是因为我的模拟器没有外部存储来缓存地图瓦片。