我在我的android應用程序中有一個顯示許多標記(〜20-50)的地圖。但是,當我嘗試滾動/縮放時,該應用的性能非常差(在Google Android Maps中,我做了一個比薩餅示例搜索,並且發現了20-50個結果,並且在縮放/滾動時沒有注意到任何特定的性能問題地圖)。Android地圖性能很差,因爲有很多覆蓋?
這裏是我的(僞)代碼:
onCreate() {
....
drawable = this.getResources().getDrawable(R.drawable.marker1);
itemizedOverlay = new MyItemizedOverlay(drawable,mapView);
...
callWebServiceToRetrieveData();
createMarkers();
}
createMarkers(){
for(elem:bigList){
GeoPoint geoPoint = new GeoPoint((int)(elem.getLat()*1000000), (int) (elem.getLon()*1000000));
OverlayItem overlayItem = new OverlayItem(geoPoint, elem.getName(), elem.getData());
itemizedOverlay.addOverlay(overlayItem);
mapOverlays.add(itemizedOverlay);
}
mapView.invalidate();
}
的MyItemizedOverlay.addOverlay看起來是這樣的:
public void addOverlay(OverlayItem overlay) {
m_overlays.add(overlay);
populate();
}
不僅如此叫
,但你可以在覆蓋多個標記。你的僞代碼被寫入的方式,你添加*相同的覆蓋*每個標記一次 - 'mapOverlays.add(itemizedOverlay);' - 這不會幫助你。 – CommonsWare 2010-04-17 20:37:27
我該如何讓這更好? – Dave 2010-04-17 21:07:52
我也會很感興趣。 – 2012-12-05 16:21:35