iphone - 如何在 MapView 上绘制 MKPolyline?

标签 iphone ios mkmapview

我有一个要在 map 上绘制的点数组,它已经解码了:

- (void) drawRoute:(NSArray *) path {
    NSInteger numberOfSteps = path.count;

    CLLocationCoordinate2D coordinates[numberOfSteps];
    for (NSInteger index = 0; index < numberOfSteps; index++) {
         CLLocation *location = [path objectAtIndex:index];
         CLLocationCoordinate2D coordinate = location.coordinate;

         coordinates[index] = coordinate;
    }

    MKPolyline *polyLine = [MKPolyline polylineWithCoordinates:coordinates count:numberOfSteps];
    [map addOverlay:polyLine];
}

其中“map”是 MKMapView 的一个实例,path 是代表已经解码的点集的数组。

我认为使用 [map addOverlay:polyLine]; 行会被绘制出来。我在某些页面上看到过这种方法:

- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay {
    MKPolylineView *polylineView = [[MKPolylineView alloc] initWithPolyline:overlay];
    polylineView.strokeColor = [UIColor redColor];
    polylineView.lineWidth = 1.0;

    return polylineView;
}

map 上实际绘制的是 polylineView 吗?我也尝试过将 MKPolyline(从上面的方法)传递给最后一个方法的“ overlay”参数,但抛出异常。

我想我已经接近了,但我不知道现在该做什么。

求助!非常感谢您。

最佳答案

完成。

这是一件非常愚蠢的事情,我没有为 MapView 设置委托(delegate)。只需添加 [map setDelegate:self];成功了。

还是谢谢你!

关于iphone - 如何在 MapView 上绘制 MKPolyline?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10911534/

相关文章:

objective-c - xcode 中的 Facebook SDK 单例

iOS播放视频黑屏?

iOS : Why can't I get mapkit to display a custom annotation pin image?

ios - Mapkit: mkannotation - 如何正确重用?

iphone - 防止在 UITableViewCell 内重新加载 MKMapView

iphone - 我们可以在模拟器中检查推送通知吗?

ios - 为 UITableView 过滤的 KVO NSMutableArray

android - 如果我只请求读取权限,如何更改 Feed 对话框的受众。它默认为 "Only Me"

iphone - 逐步滚动子 ScrollView

iphone - NSMutableArrays 的 NSMutableArray。发送到不可变对象(immutable对象)的变异方法