可以做到這一點嗎?我不擅長繪畫,有一個非常基本的「Dot類」,它繪製了一個基於x和y的圓,但是cavas在FrameLayout中,大小約爲我模擬屏幕3,7的一半。不用說,我只在y上獲得了大約150,在x上獲得了大約200(猜測它的像素)。有沒有辦法縮放畫布以繪製座標?Android根據gps座標在畫布上繪製點
最好是我的位置在中心繪製,我的查看中的其他位置「範圍」根據我的位置繪製。
所以即時通訊基本上問是否有一種方法來縮放畫布到座標,並允許我指定該比例。所以如果我在32.345和-212.988765這是中心,我可以看到其他位置說10公里範圍或類似的東西。
我目前的點類:
public class Dot extends View{
private final float x;
private final float y;
private final int r = 5;
private final Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
public Dot(Context context, float x, float y) {
super(context);
mPaint.setColor(0xFFFF0000);
this.x = x;
this.y = y;
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawCircle(x, y, r, mPaint);
}
}
GPS的座標報告工作和繪畫工作,但只有當畫布的範圍內,它的現在。
爲了說清楚,我的應用程序中的所有內容都正常工作,正確的座標正在傳遞,我需要的最後一部分是一個可視化表示,我不知道如何讓畫布像地圖一樣工作。
編輯我的另一個問題是圖紙,當位置更新它肯定會重繪,但它附加了一個新的圓圈,而舊的圓圈仍然存在。我如何完全刷新它,以便圓圈「移動」而不是附加一個新的?我試圖在視圖上調用invalidate,但沒有做任何事情。
你使用的是MapView嗎? – 2012-03-10 15:33:40
不,我不只是一個簡單的黑色背景,在這個背景上我畫了代表人的點 – nejs 2012-03-10 16:33:42