7

Próbuję umieścić wystąpienie nowego MapView w ListView. Nowy MapView istota:Nowy rendering gms.maps.MapView jest nieco opóźniony w widoku listy?

com.google.android.gms.maps.MapView 

ja obracam wszystkie interakcje off i ustawienie stałej wysokości za widok:

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); 

To działa, ale jeśli szybko przewijać ListView, to wygląda renderowanie mapview jest nieco opóźnione, więc widzisz mały obszar czarnych pikseli w kierunku przewijania.

Wygląda na to, że jest to pewien rodzaj problemu z synchronizacją, ponieważ domyślam się, że widok mapy z OpenGL jest wystarczająco szybki, aby można go było wykonać w odpowiedzi na moje zwoje. Również stary MapView + MapActivity będzie działał dobrze w tej samej konfiguracji.

Poniżej znajduje się obraz luki pojawiający się podczas szybkiego przewijania. Po niedługim czasie widok mapy nadrobi się i ponownie się wyrówna.

enter image description here

Wszelkie pomysły na to?

Dzięki

----- Aktualizacja ---------

Kwestia ta wydaje się być taka sama, jak:

ViewPager with Google Maps API v2: mysterious black view

nie mogłem poprawka udokumentowana tam do pracy w tej konfiguracji.

+0

mam podobny problem: http://stackoverflow.com/questions/14419521/moving-mapfragment-surfaceview-causes-black-background -migocący. Opublikowano film pokazujący, jak tam wygląda. Btw, jakie urządzenie testujesz? –

+0

Zasięg urządzeń - HTC Wildfire, Galaxy Nexus, Nexus S - zachowuje się podobnie na nich wszystkich, niektóre gorsze od innych (HTC Wildfire po prostu idzie całkowicie na czarno) – user291701

+0

Hej kolego, o ile cię mam, masz taki kontroler jak tutaj https://www.cocoacontrols.com/controls/slparallaxcontroller. Czy wiesz, gdzie mogę go znaleźć. – fish40

Odpowiedz

1

umieścić to w oczywisty jeśli kierowania API 13>

<application android:hardwareAccelerated="true"/>