在mapview上绘制带有图像的圆圈

时间:2013-02-12 05:22:04

标签: android android-mapview

我必须在google mapview上画一个圆圈和一个小的.png图像,有人可以建议如何实现吗?

它应该在提供的纬度和经度上显示圆圈,.png图像应该在圆圈内。

我在下面的代码中尝试绘制一个圆圈:

GeoPoint point = new GeoPoint((int) lattitude,

                            (int) longitude);


@Override
   public void draw(Canvas canvas, MapView mapView, boolean shadow) {

              paint1 = new Paint();
              paint1.setARGB(128,0 , 0, 250);
              paint1.setStrokeWidth(2);
              paint1.setStrokeCap(Paint.Cap.ROUND);
              paint1.setAntiAlias(true);
              paint1.setDither(false);  
              paint1.setStyle(Paint.Style.FILL);
              paint1.setColor(Color.argb(128, 250, 135, 143));

              this.radius = 5000;

              Point pt = mapView.getProjection().toPixels(point, null);
              float projectedRadius =    mapView.getProjection().metersToEquatorPixels(radius);

              canvas.drawCircle(pt.x, pt.y, projectedRadius, paint1);

   }

我可以在提供的纬度和经度上使用上面的代码画一个圆圈但是找不到在圆圈内绘制.png图像的方法。 因此,想法是在mapview上以提供的纬度和经度绘制带有.png图像的圆圈。

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

就个人而言,我首先想象一下png-in-circle会是什么样子,然后用它来制作一个图像。在中,用你想在其中显示的png制作一个圆形的png图像。然后,只需在所需的纬度/经度处放置一个覆盖层。参见this resource的第2部分。