2012-12-28 3 views
0

내가이 안드로이드지도 itemizedOverlay에 사진을 확장하기 위해 노력하고 확장, 내가 그것을 내가 10 개 사진을 볼 수있는 지점에 근무있어 , 난 이것이 MapItems입니다안드로이드 ItemizedOverlay 캔버스

zoomControle하지만 정말 아무것도를 가지고 ItemizedOverlay를 확장 클래스, 최적화 함께에서 기존의 캔버스 "로, 그러나 이것은 다른 위치에 캔버스를 다시 그리는 것, 내가 canvas.Scale를 사용하여 그리기 방법의 확장 시도하고있다

import java.util.ArrayList; 
import android.content.Context; 
import android.graphics.drawable.Drawable; 
import android.util.Log; 
import com.google.android.maps.ItemizedOverlay; 
import com.google.android.maps.MapView; 
import com.google.android.maps.OverlayItem; 





public class MapItems extends ItemizedOverlay 
{ 


private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>(); 
Context mContext; 



public MapItems(Drawable defaultMarker) 
{ 
    super(boundCenterBottom(defaultMarker)); 
} 

@Override 
public void draw(android.graphics.Canvas canvas,MapView mapView,boolean shadow) 
{ 
    /* 
    Log.d("MapAc", String.valueOf(mapView.getZoomLevel())); 
    if(mapView.getZoomLevel() > 20) 
    { 
     Log.d("MapAc", "scaling up"); 
     canvas.scale(1.2f, 1.2f); 
    } 

    */ 

    super.draw(canvas,mapView,false); 
} 


public MapItems(Context context) 
{ 
    super(boundCenterBottom(context.getResources().getDrawable(R.drawable.app_icon_clean))); 
    mContext = context; 
} 


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

public void clearOverlay() 
{ 
    mOverlays.clear(); 
} 




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



@Override 
public int size() 
{ 
    return mOverlays.size(); 
} 


@Override 
protected boolean onTap(int index) 
{ 
    /* ToDo 
    OverlayItem item = mOverlays.get(index); 
    AlertDialog.Builder dialog = new AlertDialog.Builder(mContext); 
    dialog.setTitle(item.getTitle()); 
    dialog.setMessage(item.getSnippet()); 
    dialog.show(); 
    */ 
    return true; 

} 

} 

환영의 원래 크기 ", 나는 t에서이 문제에 접근하고 있는지 잘 모르겠다. 그는 직각이나 단순히 화면을 지우는 문제 일 뿐이므로 숫자를 사용하여 그림을 그렸으므로 확대/축소시 매우 정확하게 그림을 확대 할 수 있습니다.

+0

새지도 API를 사용하고 있습니까? – David

+0

아니, 오래된 것, 심지어 하나 : 통고하지 않았다, S, 내가 재검토해야 하는가? 얼마를 재사용 할 수 있습니까? – bonitzenator

+0

첫 번째 오류가 있습니다. 새 것을 사용하십시오. 그들은 새로운 것들에 정말로 많은 것을 단순하게했습니다. – David

답변

0

새 MAPS API의 V2

Blog article

Video

+0

이것은 올바른 해결책이다. 그러나 미래의 독자들에게는 이것이 적절하다고 생각하는 것처럼 쉽지 않다. , 지금은 일식에서 작동하도록 고군분투하고 있습니다. 아직 튜토리얼이 많이 없습니다. – bonitzenator

+0

학습용으로 사용되지 않는 자료도 학습 방법이 아닙니다. – David

+0

보너스 팁 ... 이클립스의 이전 버전이 설치되어 있다면, 이것은 물론 당신이 문제가 될 수 있습니다, 이클립스와 함께 안드로이드 SDK를 설치하시기 바랍니다, 나는 나의 오래된 설정을 사용하여 모든 종류의 이상한 결과를 얻었습니다. – bonitzenator