MKOverlayView drawMapRect:zoomScale:inContext:何时调用?

时间:2012-04-10 07:12:37

标签: ios5 mkmapview mkannotation

我正在查看面包屑示例:

http://developer.apple.com/library/ios/#samplecode/Breadcrumb/Introduction/Intro.html

在iphone模拟器上,如果我从MKMapView模拟初始美国视图的某个地方,那么drawMapRect:zoomScale:inContext:在绘制内容时不会被调用。

为什么?该方法何时被调用?我能做些什么才能让它发挥作用?

2 个答案:

答案 0 :(得分:3)

这是因为限制设置为在当前位置周围的高度和宽度的世界大小的四分之一区域中显示路线。

在CrumbPath.m中检查此代码

// bite off up to 1/4 of the world to draw into.
    MKMapPoint origin = points[0];
    origin.x -= MKMapSizeWorld.width / 8.0;
    origin.y -= MKMapSizeWorld.height / 8.0;
    MKMapSize size = MKMapSizeWorld;
    size.width /= 4.0;
    size.height /= 4.0;
    boundingMapRect = (MKMapRect) { origin, size };
    MKMapRect worldRect = MKMapRectMake(0, 0, MKMapSizeWorld.width, MKMapSizeWorld.height);
    boundingMapRect = MKMapRectIntersection(boundingMapRect, worldRect);

答案 1 :(得分:0)

您使用的是什么版本的xCode?

这些是应用程序的要求:

建立要求:

iOS 5.0 SDK或更高版本

运行时要求:

iOS 4.0或更高版本