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);
}
(一見違いがないように、さまざまなTileSourceを選択してみました)
マイ マニフェストには、次のアクセス許可も含まれます (の子として<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 はビルド パスにあります。アプリは問題なくコンパイルされ、例外は生成されません。
何が間違っている可能性がありますか?
どうもありがとう!
解決済み: これは、エミュレーターにマップ タイルをキャッシュするための外部ストレージがないことが原因でした。