Cześć,
Walczę ostatnio i nie mogę narysować na mapie linii łamanej opartej na więcej niż 2 punktach aby mi sie nie przesuwała razem z mapą.
Jak narysuje statycznie od punktu A do B to moge mapę przesuwać i jest git. Ale jak dam dynamicznie że zaznaczam od których ma się rysować to jak przesuwam mapkę to wszystko się rozwala itp.
class MyOverlay extends Overlay{
public MyOverlay(){
}
public void draw(Canvas canvas, MapView mapv, boolean shadow){
super.draw(canvas, mapv, shadow);
Paint mPaint = new Paint();
mPaint.setDither(true);
mPaint.setColor(Color.RED);
mPaint.setStyle(Paint.Style.FILL_AND_STROKE);
mPaint.setStrokeJoin(Paint.Join.ROUND);
mPaint.setStrokeCap(Paint.Cap.ROUND);
mPaint.setStrokeWidth(4);
pointList.add(new Point());
pointList.add(new Point());
pathtList.add(new Path());
projection.toPixels(geoList.get(tapnum-2), pointList.get(tapnum-2));
projection.toPixels(geoList.get(tapnum-1), pointList.get(tapnum-1));
pathtList.get(pathNmber).moveTo(pointList.get(tapnum-2).x, pointList.get(tapnum-2).y);//Movin
pathtList.get(pathNmber).lineTo(pointList.get(tapnum-1).x,pointList.get(tapnum-1).y);//Path
for (Path pp : pathtList) {
canvas.drawPath(pp, mPaint);
}
pathNmber++;
}
}
Przykład jak rysyje. A do mapy dodaje tak
List<Overlay> mapOverlays;
mapOverlays = mapView.getOverlays();
mo = new MyOverlay();
mapOverlays.add(mo);