I’m really stuck on how to go about programming this. How to draw a circle in
Android Canvas with a radius and points around the edge?
What is best approach to design this?
Well; drawing a circle is a very straightforward, inside your
onDraw() method add this line
canvas.drawCircle(cX, cY, radius, paint);
Simply provide the center point’s x and y values and radius and paint object as well.
And for the pins around the corner you can go like this,
e.g you want a pin at 30 degrees; with a simple trigonometric calculation, your pin’s x and y values can be these;
pX = mX + radius * Math.cos(Math.toRadians(30)); pY = mY + radius * Math.sin(Math.toRadians(30));
So you can draw your pin at these x and y values respectively, also the degree can be changed.
the point(cX,cY) you want draw
the center point(centerX,centerY) of the circle
the radius of the circle
the angle is the point(cX,cY) on the circle.
also see the image:
cX = centerX + radius*Math.cos(angle*Math.PI/180); cY = centerY + radius*Math.sin(angle*Math.PI/180); canvas.drawCircle(cX, cY, radius, paint);