Projection projection = mapView.getProjection(); Point center = projection.toPixels(new GeoPoint(yourLat * E6, yourLong * E6), null); float radius = projection.metersToEquatorPixels(radiusInMeters); canvas.draw(center.x, center.y, radius, new Paint());
private void drawCircleAtPoint(GeoPoint point, Canvas canvas, MapView mapView) { Projection projection = mapView.getProjection(); Point pt2 = new Point(); projection.toPixels(point, pt2); // method that is used to conver the radius to pixel that takes input the radius and draw it on the coresponding pixels float circleRadius = projection.metersToEquatorPixels(radius) * (1/ FloatMath.cos((float) Math.toRadians(MapController.mylat))); Paint circlePaint = new Paint(Paint.ANTI_ALIAS_FLAG); Paint rectangle=new Paint(Paint.ANTI_ALIAS_FLAG); Log.d("Circular Radius", ""+circleRadius+" "+radius); circlePaint.setColor(0x99000000); circlePaint.setStyle(Style.STROKE); canvas.drawCircle((float)pt2.x, (float)pt2.y, circleRadius, circlePaint); }
@Override public void draw(Canvas canvas, MapView mapView, boolean shadow) { Projection proj = mapView.getProjection(); GeoPoint loc = new GeoPoint(geo.getLat(), geo.getLng()); Point point = new Point(); proj.toPixels(loc, point); float rad = (float) (proj.metersToEquatorPixels(radius) * (1 / Math.cos(Math.toRadians(loc.getLatitudeE6() / 1000000)))); Paint circle = new Paint(); circle.setColor(colour); circle.setAlpha(30); circle.setAntiAlias(true); circle.setStyle(Style.FILL); canvas.drawCircle(point.x, point.y, rad, circle); super.draw(canvas, mapView, shadow); }
Point point = new Point(); projection.toPixels(mOverlays.get(GPS_DETECTED_GP_INDEX).getPoint(), point); float circleRadius = (float) (projection.metersToEquatorPixels (Departure.MAX_DISTANCE_gps_dep) * (1/ Math.cos(Math.toRadians(mOverlays.
float circleRadius = projection.metersToEquatorPixels(mRadius) * (1/ FloatMath.cos((float) Math.toRadians(mLat)));
float circleRadius = projection.metersToEquatorPixels(mRadius);
float circleRadius = projection.metersToEquatorPixels(mRadius) * (1/ FloatMath.cos((float) Math.toRadians(mLat)));
float circleRadius = projection.metersToEquatorPixels((float)accuracy);