¿Alguien puede explicar estas imprecisiones con MKMapView::mapRectThatFits?
Frecuentes
Visto 586 veces
0
Obtengo imprecisiones extrañas cuando uso MKMapView::mapRectThatFits. Si paso un MKMapRect que es más ancho que alto, esperaría que mapRectThatFits devuelva un nuevo MapRect con el mismo tramo horizontal, pero con un tramo vertical aumentado para que encaje en mapView, sin embargo, noto que MKMapView se agrega al tramo horizontal así como la vertical.
Esta imprecisión parece aumentar a medida que la región de coordenadas aumenta en dimensiones. A unos pocos cientos de metros, la precisión es insignificante, pero a 1.5 kilómetros, la diferencia es de 0.0006, lo que es significativo.
He intentado usar mapRectThatFits:edgePadding con edge padding establecido en cero y regionThatFits, pero ambos dan como resultado las mismas imprecisiones.
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
1 Respuestas
1
Es porque tienes mosaicos de mapa de bits. MapKit hoy se adapta al tamaño completo de los mosaicos de mapa de bits, mostrando un área horizontalmente más amplia debido a eso. Si MapKit usara mosaicos basados en vectores, lo que podría hacer en una versión futura, como se demostró ayer durante el Keynote, no estaría limitado por el problema de los mosaicos de mapa de bits.
No hay solución hoy con MapKit. No miré Bing Maps o Routeme. Debería.
Respondido el 12 de junio de 12 a las 19:06
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas ios ios5 mkmapview mapkit or haz tu propia pregunta.
Vi esto en iOS 5, pero en iOS 6 desapareció con los nuevos mapas de Apple. - Klaas
Creo que la respuesta de @CyrilGodefroy es correcta. Ya no es un problema porque están usando vectores que no necesitan ser forzados a mostrarse en tamaños específicos. Ahora todo lo que debe preocuparse es que Apple Maps es tan preciso como un mapa dibujado por un perro. - Undistraction