円と矢印の2つの画像があります。現在のGPS座標と地図上で選択したGPS座標の間の距離を計算します。次に、円の画像の上に矢印を配置し、矢印で計算された距離を配置する必要があります。どうすればこれを実装できますか?何かのようなもの
編集:矢印画像を中央に配置し、テキストを矢印の上に配置するにはどうすればよいですか?
public class CompassOverlay extends Overlay
{
private float angle;
public CompassOverlay(float angle)
{
this.angle=angle;
}
@Override
public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when) {
super.draw(canvas, mapView, shadow);
Bitmap back =BitmapFactory.decodeResource(mapView.getResources(),R.drawable.tfm_compass_back);
Bitmap arrowBitmap = BitmapFactory.decodeResource(mapView.getResources(),R.drawable.tfm_compass_arrow);
// Create blank bitmap of equal size for back
Bitmap canvasBitmap = back.copy(Bitmap.Config.ARGB_8888, true);
canvasBitmap.eraseColor(0x00000000);
// Create canvas
Canvas canvasBack = new Canvas(canvasBitmap);
// Create rotation matrix
Matrix rotateMatrix = new Matrix();
rotateMatrix.setRotate(angle, canvasBack.getWidth()/2, canvasBack.getHeight()/2);
canvas.drawBitmap(back, 0.0f, 0.0f, null);
// Draw bitmap onto canvas using matrix
canvasBack.drawBitmap(arrowBitmap, rotateMatrix, null);
BitmapDrawable bitmapDrawable= new BitmapDrawable(canvasBitmap);
canvas.drawBitmap(bitmapDrawable.getBitmap(), 0.0f, 0.0f, null);
return true;
}
}