新しい MapView のインスタンスを ListView に入れようとしています。新しいマップビューは次のとおりです。
com.google.android.gms.maps.MapView
すべてのインタラクションをオフにして、ビューの固定高さを設定しています:
GoogleMapOptions options = new GoogleMapOptions();
options.mapType(GoogleMap.MAP_TYPE_NORMAL);
options.compassEnabled(false);
options.rotateGesturesEnabled(false);
options.scrollGesturesEnabled(false);
options.tiltGesturesEnabled(false);
options.zoomControlsEnabled(false);
options.zoomGesturesEnabled(false);
mMapView = new MapView(getActivity(), options);
mMapView.setLayoutParams(new AbsListView.LayoutParams(
AbsListView.LayoutParams.MATCH_PARENT,
200));
mMapView.setEnabled(false);
mMapView.setFocusable(false);
getListView().addHeaderView(mMapView);
getListView().addAdapter(simpleArrayAdapter);
これは機能しますが、リストビューをすばやくスクロールすると、マップビューのレンダリングが少し遅れているように見えるため、スクロールの方向に黒いピクセルの小さな領域が表示されます。
opengl を使用したマップビューは、スクロールに応じてレンダリングするのに十分な速さであると推測しているため、これはある種の同期の問題のようです。また、古い MapView+MapActivity は同じ設定で問題なく動作します。
以下は、すばやくスクロールしたときに表示されるギャップの写真です。しばらくすると、マップビューが追いつき、再び正常にレンダリングされます。
これに関するアイデアはありますか?
ありがとう
- - - アップデート - - - - -
この問題は次と同じように見えます:
Google Maps API v2 を使用した ViewPager: 神秘的な黒いビュー
ただし、このセットアップで機能するように文書化された修正を入手できませんでした。