Нарисуйте круг радиусом 1000 м вокруг местоположения пользователя в MKMapView
(Используя iOS 5 и Xcode 4.2)
У меня есть MKMapView и я хочу нарисовать круг радиусом 1000 м вокруг местоположения пользователя.
На первый взгляд может показаться, чтоMAPview: viewForAnnotation: Метод делегата представления карты и добавление пользовательского MKAnnotationView для местоположения пользователей было бы идеальным решением. Это будет выглядеть примерно так:
- (MKAnnotationView *)mapView:(MKMapView *)mapView
viewForAnnotation:(id <MKAnnotation>)annotation
{
// If it's the user location, return my custom MKAnnotationView.
if ([annotation isKindOfClass:[MKUserLocation class]]) {
return myCustomAnnotationView;
} else {
return nil;
}
}
Однако аннотации на карте не масштабируются при увеличении и уменьшении масштаба карты.
Поэтому я попытался добавить наложение (потому что накладывает масштаб на карту), используяMKCircle Класс и установка его координат в соответствии с последними координатами из моего делегата locationManger / view. Однако, каксвойство координат из MKCircle только для чтения, мне нужно удалить оверлей, а затем добавить новый каждый раз, когда пользователь перемещается. Вызывает заметное мерцание, как это происходит.
Есть ли способ плавно масштабировать аннотации при увеличении и уменьшении вида карты? Или есть хороший способ плавно переместить оверлей с изменениями местоположения пользователей?
Буду очень признателен за вашу помощь :)