0

マップ上に3種類のオーバーレイがあります。1)単純なマーカーを持つ1種類のオーバーレイがあります。そして、オーバーレイをクリックすると、ポップアップが表示されます。2)他の種類のオーバーレイには、キャンバスの描画が含まれます。これらのオーバーレイのonTouchイベントでは、マップ上にビットマップ描画を含む第3の種類のオーバーレイを表示する必要があります。そして、第3種のオーバーレイのクリックイベントもあります。

そのため、計算量が多く、キャンバスの描画が多いため、マップビューのパフォーマンスが低下します。

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 に答える