4
오버레이를 확장하고 Overlay.Snappable을 구현하는 클래스가 있습니다. 당신이 볼 수 있듯이, 내가지도에서 지점의 목록을안드로이드 - 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로 설정하면 화면에 아무 것도 나타나지 않지만 스트로크로 설정하고 획 너비를 설정하면 문제가되는 부분이 실제로 그려집니다. 무승부.
이제 해결책을 찾았지만 아무 것도 나오지 않습니다. 오버레이 캔버스에서 드로잉을 할 때 코드 자체에서 설정하지 못한 것이 있거나 몇 가지 제약이 있습니까?
감사합니다.
답장을 보내 주셔서 감사합니다. 문제는 moveTo를 너무 많이 호출했습니다. – Rabas