4
我有一個擴展覆蓋和實現Overlay.Snappable的類。我已經重寫了畫方法:Android - 在MapView上繪製路徑作爲覆蓋圖
@Override
public void draw(Canvas canvas, MapView mv, boolean shadow)
{
Projection projection = mv.getProjection();
ArrayList<GeoPoint> geoPoints = new ArrayList<GeoPoint>();
//Creating geopoints - ommited for readability
Path p = new Path();
for (int i = 0; i < geoPoints.size(); i++) {
if (i == geoPoints.size() - 1) {
break;
}
Point from = new Point();
Point to = new Point();
projection.toPixels(geoPoints.get(i), from);
projection.toPixels(geoPoints.get(i + 1), to);
p.moveTo(from.x, from.y);
p.lineTo(to.x, to.y);
}
Paint mPaint = new Paint();
mPaint.setStyle(Style.FILL);
mPaint.setColor(0xFFFF0000);
mPaint.setAntiAlias(true);
canvas.drawPath(p, mPaint);
super.draw(canvas, mv, shadow);
}
正如你所看到的,我做一個地圖上的點的名單,我想他們形成一個多邊形。
現在,問題是,當我將油漆風格設置爲FILL或FILL_AND_STROKE時,屏幕上沒有任何東西顯示出來,但是當我將它設置爲只是筆畫並設置筆畫寬度時,它實際上繪製了它應該顯示的內容畫。
現在,我尋找解決方案,但沒有出現。你能告訴我是否錯過了在代碼本身中設置的東西,或者在Overlay畫布上繪圖時是否存在某些約束條件?
謝謝
感謝您的回答,問題是多次調用moveTo。 – Rabas 2010-06-15 11:17:21