0

私は OSMdroid の初心者で、現在アプリケーションを作成しようとしています。問題は、マップをロード (ダウンロードしてキャッシュに保存) し、ズーム (ピンチまたはズーム ボタンを押して) すると、マップ全体が更新されないことです。画面が表示されている部分のみが更新されるため、スクロールすると次のようになります。

ここに画像の説明を入力

そして、スクロールしてズームすると、マップ全体が消えます。ズームアウトすると元に戻ります。

なぜこれが起こるのか知っている人はいますか?私はこれをやろうとしました:

mapView.get().setMapListener(new DelayedMapListener(new MapListener() {

        @Override
        public boolean onZoom(ZoomEvent arg0) {
            mapView.get().getTileProvider().clearTileCache(); 
            return false;
        }

        @Override
        public boolean onScroll(ScrollEvent arg0) {

            return false;
        }
    },100));

しかし、それも役に立ちません。

4

1 に答える 1

0

オフライン タイル画像がある場所を超えて拡大しています。たとえば、レベル 17 のタイル画像があり、レベル 18 にズームインしています。マップは、ズーム時の視覚効果のために画面 (キャッシュ内) にあるものに対してズーム レベル 17 を最大 18 にスケーリングしますが、それは勝ちました。通常のタイルが利用可能になると予想されるため、それを超えてスケ​​ーリングしないでください。

適切なズーム レベルで ITileSource を作成するか、MapView で setMaxZoomLevel() を呼び出します。

于 2013-08-06T16:46:11.650 に答える