У меня есть наложение на карте, и я хотел бы изменить его координаты. Чтобы сделать это легко, я собираюсь вызвать метод setNeedsDisplayInMapRect: после того, как изменение было внесено в представление.Изменить координату MKOverlay для MKOverlayView
Я проверил на это, только изменяя FillColor и она отлично работает:
overlayView.fillColor = [[UIColor greenColor] colorWithAlphaComponent:0.3];
[overlayView setNeedsDisplayInMapRect:mapView.visibleMapRect];
Однако я, казалось бы, врезался в кирпичную стену, пытаясь также изменить координаты центра с моей точки зрения наложения (который a MKCircleView с MKCircle). Существует метод в MKAnnotation, который соответствует MKCircle, который называется setCoordinate:, - который кажется мне необходимым. К сожалению, однако, свойство circle
в MKCircleView - только для чтения. Кроме того, свойство overlay
в MKOverlayView также доступно только для чтения.
Есть ли способ изменить координаты для наложения, не прибегая к удалению оверлейного вида и добавлению нового (что вызовет очень заметное мерцание на экране.)?
У меня был аналогичный проблемный взгляд MKPolyline. В моем случае линия всегда становится длиннее, поэтому я всегда рисую две полилинии, а затем удаляю старую. Таким образом, более длинная строка скрывает мерцание. – theaob