【问题标题】:New gms.maps.MapView rendering lags a bit when in a ListView?在 ListView 中新的 gms.maps.MapView 渲染有点滞后?
【发布时间】:2012-12-22 11:47:20
【问题描述】:

我正在尝试将新 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 足够快,可以响应我的滚动进行渲染。此外,旧的 MapView+MapActivity 在相同的设置中也能正常运行。

下面是快速滚动时出现的间隙图片。片刻之后,mapview 会赶上并再次渲染 ok。

对此有何想法?

谢谢

----- 更新---------

此问题看起来与以下内容相同:

ViewPager with Google Maps API v2: mysterious black view

但是,我无法在此处记录修复以在此设置中工作。

【问题讨论】:

  • 我也有类似的问题:stackoverflow.com/questions/14419521/…。发布了一段视频,展示了它在那里的样子。顺便说一句,你在什么设备上测试?
  • 设备范围 - HTC Wildfire、Galaxy Nexus、Nexus S - 在所有设备上的行为都相似,有些比其他设备更糟糕(HTC Wildfire 完全变黑了)
  • 嘿伙计,据我所知,你有像这里 cocoacontrols.com/controls/slparallaxcontroller 这样的控制器。你知道我在哪里可以找到它。

标签: android google-maps surfaceview android-maps android-maps-v2


【解决方案1】:

如果您的目标 API 13,请将其放入清单中>

<application android:hardwareAccelerated="true"/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-03
    • 1970-01-01
    • 2017-12-13
    • 1970-01-01
    相关资源
    最近更新 更多