Google Tile Wrapperの例に従って、osmdroidGoogleTilesOverlayを使用してgoogleMapViewを実装しました。
com.google.android.maps.MapView googleMapView;
org.osmdroid.google.wrapper.MapView osmdMapView;
org.osmdroid.google.overlay.GoogleTilesOverlay tiles;
final MapView googleMapView = (com.google.android.maps.MapView.MapView) findViewById(R.id.plan_mapview);
osmdMapView = new org.osmdroid.google.wrapper.MapView(gMapView);
// snip Provider instantiation etc.
overlayTiles = new GoogleTilesOverlay(provider, getApplicationContext());
gMapView.getOverlays().add(overlayTiles);
静止状態では、オーバーレイタイルは正常にレンダリングされますが、ズーム(ピンチまたはコントロールを介して)すると、基になるgoogleタイルのサイズが変更され、スムーズに置き換えられますが、osmdオーバーレイのサイズは変更されません。
結果:ビューに残っているタイルを拡大すると、重なり始めます。逆に、ズームアウトすると、各タイルの間にギャップが表示されます。
最初のステップは、draw()メソッドを変更できるように、GoogleTilesOverlayをサブクラス化することのように見えます。しかし、それでは何ですか?
私は一生懸命グーグルで検索し、次のようないくつかの指針を見つけました:a)アニメーションの途中でdraw()メソッドを短絡するb)Projector/Matrixクラスを使用してオーバーレイをその場でスケーリングする方法を決定する
残念ながら、私はAndroid APIの専門家ではないため、どちらに進むべきか、そしてソリューションを最適に実装する方法がわかりません。