0
我想在畫布上繪製一條線,並將其投影到android中的地圖上。我也使用我的應用程序標籤。當我前後翻轉標籤時,我正在丟失我畫的線條。有沒有辦法以某種方式存儲它們,這樣他們會一直呆在那裏? MyLocationOverlay類看起來是這樣的:如何在活動中存儲畫布線?
class MyLocationOverlay extends Overlay
{
@Override
public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when)
{
super.draw(canvas, mapView, shadow);
Paint paint = new Paint();
paint.setStrokeWidth(2);
paint.setARGB(255, 153, 29, 29);
paint.setStyle(Paint.Style.STROKE);
if(controlPoints>0)
{
Point point1_returned = new Point();
Point point2_returned = new Point();
Point point3_returned = new Point();
mapView.getProjection().toPixels(returned_pin1_geo, point1_returned);
mapView.getProjection().toPixels(returned_pin2_geo, point2_returned);
mapView.getProjection().toPixels(returned_pin3_geo, point3_returned);
canvas.drawLine(point1_returned.x, point1_returned.y, point2_returned.x, point2_returned.y, paint);
canvas.drawLine(point2_returned.x, point2_returned.y, point3_returned.x, point3_returned.y, paint);
canvas.drawLine(point3_returned.x, point3_returned.y, point1_returned.x, point1_returned.y, paint);
return true;
}
else
{
//Point lastPoint = new Point();
Point point = new Point();
// Converts lat/lng-Point to OUR coordinates on the screen.
Point myScreenCoords = new Point();
Point thirdPoint = new Point();
mapView.getProjection().toPixels(pin1_geo, myScreenCoords);
mapView.getProjection().toPixels(pin2_geo, point);
mapView.getProjection().toPixels(pin3_geo, thirdPoint);
canvas.drawLine(myScreenCoords.x, myScreenCoords.y, point.x, point.y, paint);
canvas.drawLine(point.x, point.y, thirdPoint.x, thirdPoint.y, paint);
canvas.drawLine(thirdPoint.x, thirdPoint.y, myScreenCoords.x, myScreenCoords.y, paint);
return true;
}
/*canvas.drawLine(point1.x, point1.y, point2.x, point2.y, paint);
canvas.drawLine(point2.x, point2.y, point3.x, point3.y, paint);
canvas.drawLine(point3.x, point3.y, point1.x, point1.y, paint);*/
}
}
有人可以幫助我?我已經嘗試標記標籤等,但沒有任何工作。非常感謝!