Tengo una superposición en el mapa y me gustaría cambiar sus coordenadas. Para hacerlo a la perfección, llamaré al método setNeedsDisplayInMapRect: una vez que se haya realizado el cambio en la vista.Cambiar la coordenada de MKOverlay para un MKOverlayView
He probado esto con sólo cambiar el fillColor y trabaja muy bien:
overlayView.fillColor = [[UIColor greenColor] colorWithAlphaComponent:0.3];
[overlayView setNeedsDisplayInMapRect:mapView.visibleMapRect];
Sin embargo he aparentemente chocó contra un muro de ladrillo tratar de cambiar también las coordenadas del centro de mi vista superposición (que es un MKCircleView con un MKCircle). Hay un método en MKAnnotation, que MKCircle cumple, llamado setCoordinate: - que parece ser lo que necesito. Desafortunadamente, la propiedad circle
en MKCircleView es de solo lectura. Además, la propiedad overlay
en MKOverlayView también es de solo lectura.
¿Hay realmente una manera de cambiar las coordenadas de una superposición, sin recurrir a quitar la vista de superposición y agregar una nueva (que causaría un parpadeo muy notable en la pantalla)?
He tenido problemas similares ver MKPolyline. En mi caso, la línea siempre es más larga, por lo que siempre dibujo dos polilíneas y luego elimino la más antigua. De esta manera, la línea más larga oculta el parpadeo. – theaob