После загрузки пользовательского изображения для MKPinAnnotationView я заметил, что булавка смещена от центра. Штырь должен находиться в точке полилинии маршрута и в центре mkcircle; однако булавка кажется справа от полилинии и немного севернее центра. Я пытался поэкспериментировать со свойством centerOffset, но когда я подставляю значения в свойство, ничего не меняется. Вот код,
-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation{
static NSString *viewID = @"MKPinAnnotationView";
MKPinAnnotationView *annotationView = (MKPinAnnotationView*)
[self.mapView dequeueReusableAnnotationViewWithIdentifier:viewID];
if(annotationView ==nil){
annotationView = [[MKPinAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:viewID];
}
annotationView.image = [UIImage imageNamed:@"Pin.png"];
annotationView.enabled = YES;
//doesn't move the pin, still offcentered
annotationView.centerOffset = CGPointMake(0,-50);
return annotationView;
}
Просто хочу добавить, я также заметил, что с новым изображением булавки ничего не появляется, когда я нажимаю на булавку. Раньше, с булавкой по умолчанию, после нажатия на булавку появлялось всплывающее окно с текстом. Поскольку это так, я хочу включить код метода, который создает и размещает булавку на карте,
-(void) createAndAddAnnotationForCoordinate : (CLLocationCoordinate2D)coordinate{
MKPointAnnotation* annotation = [[MKPointAnnotation alloc]init];
annotation.coordinate = coordinate;
annotation.title = @"This is a pin!";
[mapView addAnnotation:annotation];
}
Я также попытался изменить изображение булавки, чтобы увидеть, повлияет ли это на позиционирование MKPinAnnotationView. Хотя мне удалось центрировать булавку, отредактировав изображение, она не центрируется для других полилиний. Любая помощь будет оценена по достоинству!