Android 在mapview上绘制圆圈,圆圈内有图像
我必须在谷歌地图视图上画一个圆圈和一个小的.png图像,有人能建议如何实现吗 它应该在提供的纬度和经度上显示圆圈。png图像应该在圆圈内 我试着用下面的代码画一个圆圈:Android 在mapview上绘制圆圈,圆圈内有图像,android,android-mapview,Android,Android Mapview,我必须在谷歌地图视图上画一个圆圈和一个小的.png图像,有人能建议如何实现吗 它应该在提供的纬度和经度上显示圆圈。png图像应该在圆圈内 我试着用下面的代码画一个圆圈: GeoPoint point = new GeoPoint((int) lattitude, (int) longitude); @Override public void draw(Canvas canvas, MapView mapView, boolean
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图像的方法。
所以,我们的想法是在地图视图中提供的经纬度上画一个圆圈,圆圈内有.png图像
请帮我解决这个问题 就我个人而言,我会先将圆圈中的png形象化,然后用它制作一个图像。如中所示,制作一个圆的png图像,其中包含要显示的png。然后,只需在所需的纬度/经度处放置一个覆盖层。参见第2部分。png inside circle只不过是圆内的一个图像,但圆本身不应该是任何静态图像。这意味着当用户放大或缩小时,圆应该增大或减小。因此,圆需要根据图像本身的比例改变大小?在这种情况下,我会使png本身成为一个覆盖层,然后在画布上围绕它画一个圆圈。我不确定要覆盖上面的哪个方法,但应该覆盖mapView的onDraw(canvas)方法。将覆盖的位置存储在数组中,对于每个覆盖,在onDraw中围绕其位置绘制一个圆圈。只需确保调用super.onDraw。这是MAPSAPI的v1还是v2?顺便说一句,它是MAPAPIv2。我已经覆盖了itemizedoverlay的draw方法,在调用super.draw之后,我发现了一个问题,实际上我没有调用super.draw,这很好。几天前我做了类似的事情。图像应该填满圆圈还是像一个标记或小图标一样出现在圆圈内?图像应该像一个小图标一样出现在圆圈内,并且主要是圆圈的中心。如果您已经实现了,请与我分享代码。