我使用了苹果面包屑样本,对其进行了调整,并在我的代码中产生了奇怪的效果。
- (void)drawMapRect:(MKMapRect)mapRect
zoomScale:(MKZoomScale)zoomScale
inContext:(CGContextRef)context
被调用尽可能多的瓷砖以覆盖从北到南,但它从不要求从东到西超过3个瓷砖。所以它永远不会涵盖广泛的覆盖。
瓷砖内部的所有内容都是正确绘制的,即使用
也不会再调用任何请求的地图- (BOOL)intersectsMapRect:(MKMapRect)mapRect {
return YES;
}
中心坐标位于边界中间。
// init of CrumbPath : NSObject <MKOverlay>
upper = CLLocationCoordinate2DMake(49.0, 10.0);
lower = CLLocationCoordinate2DMake(48.0, 5.0);
_coordinate = CLLocationCoordinate2DMake(48.5, 7.5);
MKMapPoint upperLeft = MKMapPointForCoordinate(upper);
MKMapPoint lowerRight = MKMapPointForCoordinate(lower);
_boundingMapRect = MKMapRectMake(upperLeft.x,
upperLeft.y,
lowerRight.x - upperLeft.x,
lowerRight.y - upperLeft.y);
答案 0 :(得分:0)
MapKit无法处理负尺寸的MKMapRect。所有来自CGRects和绘图WORK的计算,但是如果大小是负的,那么地图本身将不会请求正确的MapRects,因为它将它们视为大小为0.
所以使用'abs'它会起作用
_boundingMapRect = MKMapRectMake(upperLeft.x,
upperLeft.y,
fabs(lowerRight.x - upperLeft.x),
fabs(lowerRight.y - upperLeft.y));