Android Overlay 添加本地位置图标

代码如下:

public class MyOverlay extends Overlay{
  private final int mRadius = 5;
  
  
  @Override
  public void draw(Canvas canvas, MapView mapView, boolean shadow) {
   // TODO Auto-generated method stub
   Projection projection = mapView.getProjection();
   if (shadow == false) {
   //获得当前的位置
   GeoPoint geoPoint;
   geoPoint = new GeoPoint((int)(lat*1E6),(int)(lng*1E6));
   // 把位置转换为屏幕像素
   Point point = new Point();
   projection.toPixels(geoPoint, point);
   RectF oval = new RectF(point.x - mRadius, point.y - mRadius, point.x + mRadius, point.y + mRadius);
   // 设置paint
   Paint paint = new Paint();
   paint.setARGB(250, 255, 0, 0);
   paint.setAntiAlias(true);
   paint.setFakeBoldText(true);
   Paint backPaint = new Paint();
   backPaint.setARGB(175, 50, 50, 50);
   backPaint.setAntiAlias(true);
   RectF backRect = new RectF(point.x + 2 + mRadius, point.y - 3*mRadius, point.x + 65, point.y + mRadius);
   // 绘制标记
   canvas.drawOval(oval, paint); 
   canvas.drawRoundRect(backRect, 5, 5, backPaint); 
   canvas.drawText("Here I Am", point.x + 2*mRadius, point.y, paint);
   }

   super.draw(canvas, mapView, shadow);
  }
   
 }

调用时用:

overlays.add(new MyOverlay());

结果如图:

转载于:https://www.cnblogs.com/xiechengjian/archive/2012/03/11/2390699.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值