我想Circle
在地图上画一个并在用户触摸它时做一些事情。另外,我找不到任何与Circle
此相关的方法。我需要做什么?
谢谢,萨伦
编辑
为了澄清我的问题。我想要相对于地面具有恒定距离的圆圈,这意味着,如果我缩放地图,圆圈会变大。
我想Circle
在地图上画一个并在用户触摸它时做一些事情。另外,我找不到任何与Circle
此相关的方法。我需要做什么?
谢谢,萨伦
编辑
为了澄清我的问题。我想要相对于地面具有恒定距离的圆圈,这意味着,如果我缩放地图,圆圈会变大。
忘记刚才的答案。也许您正在寻找的是标记。 https://developers.google.com/maps/documentation/android/marker#customize_the_marker_image
这是将标记自定义为圆圈的示例。
private static final LatLng MELBOURNE = new LatLng(-37.81319, 144.96298);
private Marker melbourne = mMap.addMarker(new MarkerOptions()
.position(MELBOURNE)
.title("Melbourne")
.snippet("Population: 4,137,400")
// set your circle pictures here
.icon(BitmapDescriptorFactory.fromResource(R.drawable.circle_pictures)));
更新
如果您需要放大时圆圈变大。我的建议是,您必须创建一个自定义圆,并使半径在放大时变大,在缩小时变小。这种方法完全是原生的,你已经编写了自己的代码来适应你需要的一切。
class CircleMarker extends View{
private Paint paint;
private float cx,cy,radius;
public CircleMarker(Context context) {
super(context);
paint = new Paint();
paint.setColor(Color.BLUE);
}
@Override
public void onDraw(Canvas c){
c.drawCircle(cx, cy, radius, paint);
}
public void redrawCirle(float cx, float cy, float radius){
this.cx = cx;
this.cy = cy;
this.radius = radius;
invalidate();
}
}