MapView에 사용자 지정 Drawable 오버레이를 그리려고합니다. Drawable을 확장하는 사용자 정의 클래스를 사용하여 캔버스에 원을 그립니다. 그런 다음 반경 변수를 전달하여 MapView에 적용되는 ItemizedOverlay에 추가합니다.Android : canvas.drawCircle 안에 타원이 있습니까?
지금까지는 잘 해결되었지만, 어떤 이유로 Canvas.drawCircle 메서드는 내부에 타원처럼 보이는 투명 원을 그려 넣었습니다. 그것을 일으키는 원인을 파악하십시오. 원을 투명하게 만들고 싶습니다. 그러나이 원 안에는이 타원을 원하지 않습니다.
http://img222.imageshack.us/img222/4356/circleellipse.png
나는 느린이 ...import android.graphics.Canvas;
import android.graphics.ColorFilter;
import android.graphics.Paint;
import android.graphics.drawable.Drawable;
public class PileDrawable extends Drawable {
private static final Paint paint = new Paint();
int rad;
public PileDrawable(int radius) {
paint.setARGB(100, 0, 255, 0);
paint.setAntiAlias(false);
paint.setStyle(Paint.Style.FILL);
rad=radius;
}
@Override
public void draw(Canvas canvas) {
canvas.drawCircle(0, 0, rad, paint);
}
@Override
public int getOpacity() {
return 0;
}
@Override
public void setAlpha(int alpha) {
}
@Override
public void setColorFilter(ColorFilter cf) {
}
}
이 그것을 MS 페인트 기술의 나의 부족을 무시하고, 어떻게 생겼는지의 종류는 다음과 같습니다
사용자 정의 드로어 블 클래스 Drawable에 범위를 적용 할 때 문제가 발생한다고 생각합니다.PileDrawable pd = new PileDrawable((int)(mapView.getProjection().metersToEquatorPixels(Radius) * (1/ Math.cos(Math.toRadians(point.getLatitudeE6())))));
pd.setBounds(0,0,pd.getIntrinsicWidth(),pd.getIntrinsicHeight()); //HERE?
그래서 어떤 아이디어입니까?