Ich habe ein Programm, wo ich eine Linie zwischen zwei Punkten zeichnen möchte. Ich möchte dann eine andere Linie zwischen zwei weiteren Punkten zeichnen. Wenn ich eine Linie zeichne, wird die vorherige Linie entfernt. Ich habe versucht, beide Linien verschiedene Überlagerungen zu machen, aber es entfernt noch die alte Linie und setzt die neue Linie ein. Verhindere ich das Hacken und wie mache ich alle Overlays? Jede Hilfe würde sehr geschätzt werden.Wie zeichne ich mehrere Karten-Overlays auf den Bildschirm?
Die Overlay-Klasse in der Activity-Klasse.
Dies ist in onKeyDown()
case KeyEvent.KEYCODE_8:
twoPoints.add(a);
twoPoints.add(b);
MapOverlay newOverlay = new MapOverlay();
listOfOverlays = mapView.getOverlays();
listOfOverlays.add(newOverlay);
mapView.postInvalidate();
System.out.println("Test overlays 1 Point");
break;
case KeyEvent.KEYCODE_9:
twoPoints.remove(1);
twoPoints.add(c);
MapOverlay newOverlay1 = new MapOverlay();
listOfOverlays.add(newOverlay1);
mapView.postInvalidate();
System.out.println("Test Overlays 2 Point");
break;
Und das ist die Overlay-Klasse:
public class MapOverlay extends com.google.android.maps.Overlay
{
@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow)
{
super.draw(canvas,mapView,shadow);
//-- Create new paint object --
Paint mPaint = new Paint();
mPaint.setDither(true);
mPaint.setColor(Color.RED);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeJoin(Paint.Join.ROUND);
mPaint.setStrokeCap(Paint.Cap.ROUND);
mPaint.setStrokeWidth(2);
//System.out.println("Point 1");
//System.out.println("Point 2");
for(int i =0; i < twoPoints.size()-1;i++)
{
Point screenPt1 = new Point();
mapView.getProjection().toPixels(twoPoints.get(i), screenPt1);
Point screenPt2 = new Point();
mapView.getProjection().toPixels(twoPoints.get(i+1), screenPt2);
canvas.drawLine(screenPt1.x, screenPt1.y, screenPt2.x, screenPt2.y, mPaint);
System.out.println("Point 3");
}
//mapView.invalidate();
}
}
es für eine Weile jetzt verwirrend mich wirklich ist.
Von Ihrer Frage was ich bekomme ist, dass Sie die Wegbeschreibung zwischen 2 Punkten anzeigen möchten? Habe ich recht? – Prem
Wenn Sie Richtung möchten, empfehle ich Ihnen, den Google Maps Web Service zu verwenden .... – Prem