Ios4 如何使用crump path在地图上绘制路线?

Ios4 如何使用crump path在地图上绘制路线?,ios4,Ios4,我使用了apple CrumpPath.o和CrumpPathView.o提供的类,但它只支持iphone 5.0,当我在iphone 4.0上尝试相同的代码时,它不会更新路由。 代码: 如果是这样的话,你应该试着查看你的CrumbPathView.m看看渲染功能是否正常工作,我在这里看到你从Apple Docs复制并粘贴了代码,对吗?在该文件中,您应该在方法drawMapRect:zoomScale:inContext: if (path != nil) { CGContextAddP

我使用了apple CrumpPath.o和CrumpPathView.o提供的类,但它只支持iphone 5.0,当我在iphone 4.0上尝试相同的代码时,它不会更新路由。 代码:


如果是这样的话,你应该试着查看你的
CrumbPathView.m
看看渲染功能是否正常工作,我在这里看到你从Apple Docs复制并粘贴了代码,对吗?在该文件中,您应该在方法
drawMapRect:zoomScale:inContext:

if (path != nil)
{
    CGContextAddPath(context, path);
    CGContextSetRGBStrokeColor(context, 0.0f, 0.0f, 1.0f, 0.6f);
    CGContextSetLineJoin(context, kCGLineJoinRound);
    CGContextSetLineCap(context, kCGLineCapRound);
    CGContextSetLineWidth(context, lineWidth);
    CGContextStrokePath(context);
    CGPathRelease(path);
}
查看
路径
是否为零如果为零,则不会渲染任何内容。你调试过这个视图吗?渲染发生在路径视图中,因此,您应该看到其中发生了什么


如果
路径
为nil,则应检查调用以分配其值的方法,该方法位于
如果(path!=nil)

此代码块位于哪个方法中?是在
locationManager:didUpdateLocations
还是
locationManager:didUpdateLocation:FromLocation
?由于iOS6+将使用第一个,而iOS5-将使用后者,因此您应该同时使用这两个。你试过调试吗?这些代码块被调用了吗?写在locationManager:didUpdateToLocation:FromLocation…是的,我调试了…它被调用了@TeAmo我写这篇评论是为了回答这个问题,因为我必须粘贴一段代码,如果在评论中发布,这段代码将很难阅读。
if (path != nil)
{
    CGContextAddPath(context, path);
    CGContextSetRGBStrokeColor(context, 0.0f, 0.0f, 1.0f, 0.6f);
    CGContextSetLineJoin(context, kCGLineJoinRound);
    CGContextSetLineCap(context, kCGLineCapRound);
    CGContextSetLineWidth(context, lineWidth);
    CGContextStrokePath(context);
    CGPathRelease(path);
}