1

我以前看过这个问题,所有的回答看起来都差不多。但是,我根本无法让他们中的任何一个为我的项目工作。

我有一个由按钮触发的操作 updateMap。它在地图 (MapKit) 上显示当前位置,并显示与其位置相关的一些其他信息(地理编码)。所有这些工作正常。我需要做的是在地图上显示他们位置周围的半径。这是我正在尝试但不起作用的方法:

(在更新地图中)

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

(“current”是一个 CLLocation 变量,包含用户的当前位置)

然后,在实现文件中的操作之后,我有这个:

- (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 方法中,但由于尚未计算位置(仅在上述操作中确定),这对我来说不是一个选项。

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

4

0 回答 0