在MapView上绘制半径(圆)

时间:2013-04-14 16:27:24

标签: ios objective-c xcode mapkit

我之前看到过这个问题,所有回复看起来大致相似。但是,我根本无法让他们中的任何一个为我的项目工作。

我有一个由按钮触发的动作updateMap。它显示了地图上的当前位置(MapKit),并显示了与其位置相关的一些其他信息(地理编码)。所有这一切都很好。我需要做的是在地图上显示其位置周围的半径。以下是我尝试不起作用的内容:

(在updateMap中)

//display radius
CLLocationCoordinate2D center = {current.coordinate.latitude, current.coordinate.longitude};
MKCircle *circle = [MKCircle circleWithCenterCoordinate:center radius:1000];
[self.mapView addOverlay:circle];

("当前"是具有用户当前位置的CLLocation var)

然后,在执行文件中的操作后,我有:

- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id<MKOverlay>)overlay
{
    MKCircleView *circleView = [[MKCircleView alloc] initWithOverlay:overlay];
    [circleView setFillColor:[UIColor redColor]];
    [circleView setStrokeColor:[UIColor blackColor]];
    [circleView setAlpha:0.5f];
    return circleView;
}

它构建得很好,但地图上没有显示任何圆圈。

此网站上的其他解决方案涉及将第一个代码放在viewDidLoad方法中,但由于该位置尚未计算(仅在上述操作中确定),这对我来说不是一个选项

感谢您的时间和任何帮助。我绝对没有在这里的许多人的水平,所以请原谅我,如果这有一个明显的答案。我不想被勺子喂,我想学习!谢谢你的阅读。

0 个答案:

没有答案