Nowe renderowanie gms.maps.MapView jest nieco opóźnione w przypadku ListView?
Usiłuję umieścić instancję nowego MapView w ListView. Nowy widok mapy to:
com.google.android.gms.maps.MapView
Wyłączam wszystkie interakcje i ustawiam stałą wysokość widoku:
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);
Działa to, ale jeśli szybko przewinę listview, wygląda na to, że renderowanie mapview jest nieco opóźnione, więc możesz zobaczyć mały obszar czarnych pikseli w kierunku przewijania.
Wygląda na to, że jest to jakiś problem z synchronizacją, ponieważ zgaduję, że mapview z opengl jest wystarczająco szybki, aby renderować w odpowiedzi na moje zwoje. Również stary MapView + MapActivity działałby dobrze w tej samej konfiguracji.
Poniżej znajduje się obraz luki, która pojawia się po szybkim przewinięciu. Po krótkim czasie mapview zostanie nadrobiony i ponownie sprawdzi się.
Masz jakieś pomysły na ten temat?
Dzięki
----- Aktualizacja ---------
Ten problem wygląda tak samo jak:
ViewPager z Google Maps API v2: tajemniczy czarny widok
Nie mogłem jednak udokumentować poprawek w tym ustawieniu.