The label on the map when scaling does not remain in place, it begins to shift, if you scale down the label is not specified correctly, did not find anything like this on the subject, Apple, Google, Yandex maps are used. The problem is present at all.
- (YMKAnnotationView *)mapView:(YMKMapView *)aMapView viewForAnnotation:(id<YMKAnnotation>)anAnnotation { if ([[appSettings valueForKey:CAR_MAP_TYPE_KEY] integerValue] == MAPTypeYandex) { static NSString *identefier = @"pointAnotation"; YMKPinAnnotationView *pinView = (YMKPinAnnotationView *)[aMapView dequeueReusableAnnotationViewWithIdentifier:identefier]; if (!pinView) { pinView = [[YMKPinAnnotationView alloc] initWithAnnotation:anAnnotation reuseIdentifier:identefier]; } if (![anAnnotation.title isEqualToString:@"current_location"]) { pinView.image = [UIImage imageNamed:@"location_pin"]; pinView.selectedImage = [UIImage imageNamed:@"location_pin"]; } pinView.annotation = anAnnotation; pinView.canShowCallout = NO; pinView.calloutOffset = CGPointMake(pinView.calloutOffset.x, 20); return pinView; } else { if (![anAnnotation.title isEqualToString:@"current_location"]) { UIView *pinView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"location_pin"]]; DXAnnotationView *annotationView = (DXAnnotationView *)[_mapView dequeueReusableAnnotationViewWithIdentifier:NSStringFromClass([DXAnnotationView class])]; if (!annotationView) { annotationView = [[DXAnnotationView alloc] initWithAnnotation:(id<MKAnnotation>)anAnnotation reuseIdentifier:NSStringFromClass([DXAnnotationView class]) pinView:pinView calloutView:[self createCalloutView] settings:[DXAnnotationSettings defaultSettings]]; } return (YMKAnnotationView *)annotationView; } else { static NSString *annotationIdentifier = @"AnnotationIdentifier"; MKPinAnnotationView *pinView = (MKPinAnnotationView *)[_mapView dequeueReusableAnnotationViewWithIdentifier:annotationIdentifier]; if (!pinView) { pinView = [[MKPinAnnotationView alloc] initWithAnnotation:(id <MKAnnotation>)anAnnotation reuseIdentifier:annotationIdentifier]; [pinView setPinColor:MKPinAnnotationColorGreen]; pinView.animatesDrop = YES; pinView.canShowCallout = NO; } else { pinView.annotation = (id <MKAnnotation>)anAnnotation; } return (YMKAnnotationView *)pinView; } } }