我试图将新MapView的实例放在ListView中。新的mapview是:
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);
这很有效,但是如果我快速滚动列表视图,看起来mapview渲染会稍微滞后,所以你可以在滚动方向看到一小块黑色像素。
这似乎是某种同步问题,因为我用opengl猜测mapview的速度足够快以响应我的滚动。此外,旧的MapView + MapActivity在相同的设置中也能正常运行。
下面是快速滚动时出现间隙的图片。在很短的时间之后,mapview将会赶上并再次渲染。
有关于此的任何想法吗?
由于
-----更新---------
此问题与以下内容相同:
ViewPager with Google Maps API v2: mysterious black view
但是我无法在此设置中记录那里的修复程序。
答案 0 :(得分:1)
如果您的定位API 13>
,请将其放入您的清单中<application android:hardwareAccelerated="true"/>