Как наложить круг на карту iOS

У меня есть радиус и местоположение.

Вот как я пытаюсь получить ограничивающий прямоугольник круга.

- (MKMapRect)boundingMapRect{

    CLLocationCoordinate2D tmp;
    MKCoordinateSpan radiusSpan = MKCoordinateRegionMakeWithDistance(self.coordinate, 0, self.radius).span;
    tmp.latitude = self.coordinate.latitude - radiusSpan.longitudeDelta;
    tmp.longitude = self.coordinate.longitude - radiusSpanSpan.longitudeDelta;

    MKMapPoint upperLeft = MKMapPointForCoordinate(tmp);
    MKMapRect bounds = MKMapRectMake(upperLeft.x, upperLeft.y, self.radius * 2, self.radius * 2);

    return bounds;
}

MKMapRectMake(...) Кажется, нужны ширина и высота, измеренные в точках карты. Как мне преобразовать радиус в это?

В конце я рендеринг это так:

MKMapRect theMapRect = [self.overlay boundingMapRect];
CGRect theRect = [self rectForMapRect:theMapRect];
CGContextAddEllipseInRect(ctx, theRect);
CGContextFillPath(ctx);

Кажется, что радиус в конце не равен метрам на карте, а расстояние не измеряется правильно. Как это сделать правильно?

Я был бы очень благодарен за каждый намек.

Ответы на вопрос(2)

Ваш ответ на вопрос