我試圖查看某些範圍(max x,max y,min x,min y座標)是否在當前可見的地圖視圖中。從座標創建MKMapRect並使用mapView.visibleMapRect
我把我的程度,並創建一個MKMapRect
:
MKMapPoint upperLeft = MKMapPointForCoordinate(CLLocationCoordinate2DMake([boundary.extents.maxY floatValue], [boundary.extents.minY floatValue]));
MKMapPoint lowerLeft = MKMapPointForCoordinate(CLLocationCoordinate2DMake([boundary.extents.minY floatValue], [boundary.extents.minY floatValue]));
MKMapPoint upperRight = MKMapPointForCoordinate(CLLocationCoordinate2DMake([boundary.extents.maxY floatValue], [boundary.extents.maxY floatValue]));
MKMapRect mapRect = MKMapRectMake(upperLeft.x, upperLeft.y, fabs(upperLeft.x - upperRight.x), fabs(upperLeft.y - lowerLeft.y));
現在我想檢查我的「mapRect」是mapView.visibleMapRect:
if (MKMapRectContainsRect(mapView.visibleMapRect, mapRect)) {
// do some stuff
}
但我的程度絕不會包含當我知道他們應該是的時候通過mapView.visibleMapRect
。
如果我用MKMapRectWorld
替換mapView.visibleMapRect
,那麼它將包含我的擴展盤區'mapRect'。
我做錯了什麼?是mapView.visibleMapRect
不是我認爲的(屏幕上的可視區域)?
我的mapRect完全包含在'mapView.visibleMapRect'中。當我用worldMapRect替換可見區域時,它在可見區域。 – Padin215