0

我在地图上有 3 种类型的叠加层。1)有一种具有简单标记的叠加层。并点击覆盖我显示弹出。2)其他类型的覆盖包含画布绘图。和这些叠加层的 onTouch 事件,我们必须在地图上显示包含位图绘制的第三种叠加层。还有第三种叠加的点击事件。

因此,由于繁重的计算和大量的画布绘制,mapview 的性能下降。

我已经从https://github.com/staroud-android/OverlayManager浏览了 Overlaymanager 库。但它没有帮助我。

有什么方法可以满足我的高性能要求吗?

我还需要建议 Polaris 地图库可以帮助我获得更好的性能?https://github.com/cyrilmottier/Polaris

4

1 回答 1

1

发生的事情是MapView每次添加GeoPoint. 尝试将此添加到您的代码中:

在你循环完GeoPoints这段代码之后

itemizedOverlay.populateNow();

并将您的 itemizedOverlay 更改为如下所示:

public void addOverlay(OverlayItem overlay) {
    m_overlays.add(overlay);
        }
public void populateNow()
{
    populate(); 
}

@Override
protected OverlayItem createItem(int i) {
    return m_overlays.get(i);
}

@Override
public int size() {
    return m_overlays.size();
}
于 2012-10-30T06:22:49.313 回答