我想在地图视图上画一个圆.我想要用户输入半径,对于那个半径,我必须在地图上显示圆.之后,我必须在该圈子的某些位置显示标记.
这对我来说非常重要,我试图在互联网上找到提示,但我无法做到这一点.请帮助我……..
提前致谢..
解决方法
在ItemizedOverlay的实现中,从onDraw方法中执行类似于drawCircle的方法
- protected void drawCircle(Canvas canvas,Point curScreenCoords) {
- curScreenCoords = toScreenPoint(curScreenCoords);
- int CIRCLE_RADIUS = 50;
- // Draw inner info window
- canvas.drawCircle((float) curScreenCoords.x,(float) curScreenCoords.y,CIRCLE_RADIUS,getInnerPaint());
- // if needed,draw a border for info window
- canvas.drawCircle(curScreenCoords.x,curScreenCoordsy,getBorderPaint());
- }
- private Paint innerPaint,borderPaint;
- public Paint getInnerPaint() {
- if (innerPaint == null) {
- innerPaint = new Paint();
- innerPaint.setARGB(225,68,89,82); // gray
- innerPaint.setAntiAlias(true);
- }
- return innerPaint;
- }
- public Paint getBorderPaint() {
- if (borderPaint == null) {
- borderPaint = new Paint();
- borderPaint.setARGB(255,82);
- borderPaint.setAntiAlias(true);
- borderPaint.setStyle(Style.STROKE);
- borderPaint.setStrokeWidth(2);
- }
- return borderPaint;
- }
- @Override
- protected void onDraw(Canvas canvas) {
- Point p = new Point();
- for(OverlayItem item : items) {
- drawCircle(canvas,getProjection().toPixels(item.getPoint(),p));
- }
- }