안녕하세요.

 

MapView 에서 오버레이 아이콘을 뿌려주고 있습니다.

 

줌상태에 따라 아이콘을 크고 작게 하라는 기획단 전달로 골머리가 아프네요.

 

private void markerChange(){

    mOberlay.overlayDistory();
    mOberlay= new SitesOverlay(mMarke2, mDatas);
    mMapView.getOverlays().add(mOberlay);  

 }

 

현제는 줌 상태를 보고 위의 소스처러 뿌려진 아이콘을 다 지우고 다시 그리고 있습니다.

 

퍼포먼스도, 2초에서 3초정도 시간이 지나고 아이콘이 바뀝니다.

 

알고리즘으로 봐도 저건아닌데..... 하고 있으면서도, 구글검색을 뒤져도 답을 못찾겠습니다.

 

아이콘만 바꾸는 메소드는 없나요?

 

다른 잘만든 앱에선 퍼포먼스가 떨어짐 없이 아이콘이 잘 바뀌더라구요......

 

참조할만한 사이트라도 알고 있다면 부탁 드리겠습니다.

 

스트레스 받네요... ^^

 

 

 

내부클래스 ***********************************************************************

 

 private class SitesMyOverlay extends ItemizedOverlay<OverlayItem> {
  
  List<OverlayItem> items = new ArrayList<OverlayItem>();
  Drawable marker = null;

  public SitesMyOverlay(Drawable marker){
   super(marker);
   this.marker = marker;
   items.add(new OverlayItem(getPoint(Double.parseDouble(mMyLat),Double.parseDouble(mMyLng)),"내정보","0"));
   populate();
  }

 

  public void overlayDistory(){
   items = null;
   items = new ArrayList<OverlayItem>();
  } 
  
  @Override
  protected OverlayItem createItem(int i) {
   return (items.get(i));
  }

  @Override
  public void draw(Canvas canvas, MapView mapView, boolean shadow) {
   super.draw(canvas, mapView, shadow);
   boundCenterBottom(marker);
  }
  
  @Override
  protected boolean onTap(int index) {

   return false;
  }
  
  public int size() {
   return (items.size());
  }
 }