0
當我使用MKMapView :: mapRectThatFits時,我得到奇怪的不準確。如果我傳入的MKMapRect比更高的更寬,我希望mapRectThatFits返回一個具有相同水平跨度的新MapRect,但增加了垂直跨度以適應mapView,但是我注意到MKMapView增加了水平跨度以及垂直。任何人都可以解釋這些不準確與MKMapView :: mapRectThatFits
這種不準確性似乎增加作爲維度座標區域增加。在幾百米處,精確度可以忽略不計,但在1.5公里處,差值爲0.0006,這是顯着的。
我已經嘗試使用mapRectThatFits:邊緣填充設置爲零和regionThatFits,但都導致相同的不準確。
MKCoordinateRegion combinedRegion = self.models.locationModelsCoordinator.coordinateRegion;
NSLog(@"Before %f", combinedRegion.center.longitude - (combinedRegion.span.longitudeDelta * 0.5)); // Logs -0.103473
MKMapRect combinedRect = [ELMapKitUtils mapRectForCoordinateRegion:combinedRegion];
// If I convert combinedRect back to an MKCoordinateRegion here I can verify it is unaltered, so there is no issue with my conversion code.
MKMapRect focusRect = [self.mapView mapRectThatFits:combinedRect];
MKCoordinateRegion regionFittedToMapView = MKCoordinateRegionForMapRect(focusRect);
NSLog(@"After %f", regionFittedToMapView.center.longitude - (regionFittedToMapView.span.longitudeDelta * 0.5)); // Logs -0.104107
我在iOS 5下看到了這一點,但在iOS 6下,它與新的Apple地圖一起消失了。 – Klaas
我認爲@ CyrilGodefroy的回答是正確的。它不再是一個問題,因爲它們使用的矢量不需要強制以特定的大小顯示。現在,您只需擔心Apple Map與狗狗繪製的地圖差不多。 – Undistraction