1

マップタイルがズームレベル14〜17でのみ表示されるという問題に直面しました。オフラインのMapnikマップを使用しています。タイルは正しいフォルダー(/osmdroid/Mapnik.zip)と正しい形式(.png)にあります。

ズーム16から始めます。17にズームインしても問題はありませんが、18にズームインすると、17のタイルのみが拡大縮小されます。しばらくズームアウトすると、ズームレベル1〜14のタイルが表示されません。灰色のボックスのみがあります。

これらのズームレベルのpngは.zipアーカイブにあります:/なので、どうしたらよいかわかりません。誰かがアイデアを持っていますか?

私のコードはそのようなものです:

public class Main extends Activity {

public static final GeoPoint INITIAL_POSITION = new GeoPoint(48.965558, 9.27893);
MapView mapView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mapView = (MapView) findViewById(R.id.map);
    mapView.setBuiltInZoomControls(true);
    mapView.getController().setZoom(16);
    mapView.getController().setCenter(INITIAL_POSITION);
    mapView.setTileSource(TileSourceFactory.MAPNIK);
    mapView.setUseDataConnection(false);
4

2 に答える 2

0

4つのzipファイルに分割することで問題を解決しました:D

問題は、1つのzipアーカイブに150000個のファイルがあり、処理するには大きすぎることでした...

詳細については、「ファイルが多すぎる」を参照してください。

于 2013-01-31T09:16:07.237 に答える
0

Osmdroid は、実際にダウンロードしたズーム レベルを超えるズームをサポートしていません。あなたが見ているものはまさにそれに対応しています。

他のズーム レベルでマップを表示する場合は、それらをダウンロードする (オフライン バージョンを準備する) か、データ接続の使用をオンにする ( setUseDataConnection(true);) 必要がありますが、もちろんオフライン バージョンにないタイルは表示されません。データ接続があります。

TilesOverlay別の方法として、osmdroid のクラスを変更することもできますが、それは簡単ではなく、時間がかかります。

于 2013-01-28T07:37:23.930 に答える