[ios] Removed unused annotation image code
Removed unused annotation image code from iosapp, now that bulk-added point annotations are backed by annotation views.
This commit is contained in:
committed by
Minh Nguyễn
parent
62149410fa
commit
654f015639
@@ -603,82 +603,6 @@ static NSString * const MBXViewControllerAnnotationViewReuseIdentifer = @"MBXVie
|
|||||||
return annotationView;
|
return annotationView;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (MGLAnnotationImage *)mapView:(MGLMapView * __nonnull)mapView imageForAnnotation:(id <MGLAnnotation> __nonnull)annotation
|
|
||||||
{
|
|
||||||
if ([annotation isKindOfClass:[MBXDroppedPinAnnotation class]]
|
|
||||||
|| [annotation isKindOfClass:[MBXCustomCalloutAnnotation class]])
|
|
||||||
{
|
|
||||||
return nil; // use default marker
|
|
||||||
}
|
|
||||||
|
|
||||||
NSString *title = [(MGLPointAnnotation *)annotation title];
|
|
||||||
if (!title.length) return nil;
|
|
||||||
NSString *lastTwoCharacters = [title substringFromIndex:title.length - 2];
|
|
||||||
|
|
||||||
MGLAnnotationImage *annotationImage = [mapView dequeueReusableAnnotationImageWithIdentifier:lastTwoCharacters];
|
|
||||||
|
|
||||||
if ( ! annotationImage)
|
|
||||||
{
|
|
||||||
UIColor *color;
|
|
||||||
|
|
||||||
// make every tenth annotation blue
|
|
||||||
if ([lastTwoCharacters hasSuffix:@"0"]) {
|
|
||||||
color = [UIColor blueColor];
|
|
||||||
} else {
|
|
||||||
color = [UIColor redColor];
|
|
||||||
}
|
|
||||||
|
|
||||||
UIImage *image = [self imageWithText:lastTwoCharacters backgroundColor:color];
|
|
||||||
annotationImage = [MGLAnnotationImage annotationImageWithImage:image reuseIdentifier:lastTwoCharacters];
|
|
||||||
|
|
||||||
// don't allow touches on blue annotations
|
|
||||||
if ([color isEqual:[UIColor blueColor]]) annotationImage.enabled = NO;
|
|
||||||
}
|
|
||||||
|
|
||||||
return annotationImage;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (UIImage *)imageWithText:(NSString *)text backgroundColor:(UIColor *)color
|
|
||||||
{
|
|
||||||
CGRect rect = CGRectMake(0, 0, 20, 15);
|
|
||||||
|
|
||||||
UIGraphicsBeginImageContextWithOptions(rect.size, NO, [[UIScreen mainScreen] scale]);
|
|
||||||
|
|
||||||
CGContextRef ctx = UIGraphicsGetCurrentContext();
|
|
||||||
|
|
||||||
CGContextSetFillColorWithColor(ctx, [[color colorWithAlphaComponent:0.75] CGColor]);
|
|
||||||
CGContextFillRect(ctx, rect);
|
|
||||||
|
|
||||||
CGContextSetStrokeColorWithColor(ctx, [[UIColor blackColor] CGColor]);
|
|
||||||
CGContextStrokeRectWithWidth(ctx, rect, 2);
|
|
||||||
|
|
||||||
NSAttributedString *drawString = [[NSAttributedString alloc] initWithString:text attributes:@{
|
|
||||||
NSFontAttributeName: [UIFont fontWithName:@"Arial-BoldMT" size:12],
|
|
||||||
NSForegroundColorAttributeName: [UIColor whiteColor],
|
|
||||||
}];
|
|
||||||
CGSize stringSize = drawString.size;
|
|
||||||
CGRect stringRect = CGRectMake((rect.size.width - stringSize.width) / 2,
|
|
||||||
(rect.size.height - stringSize.height) / 2,
|
|
||||||
stringSize.width,
|
|
||||||
stringSize.height);
|
|
||||||
[drawString drawInRect:stringRect];
|
|
||||||
|
|
||||||
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
|
|
||||||
UIGraphicsEndImageContext();
|
|
||||||
return image;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)mapView:(MGLMapView *)mapView didDeselectAnnotation:(id<MGLAnnotation>)annotation {
|
|
||||||
NSString *title = [(MGLPointAnnotation *)annotation title];
|
|
||||||
if ( ! title.length)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
NSString *lastTwoCharacters = [title substringFromIndex:title.length - 2];
|
|
||||||
MGLAnnotationImage *annotationImage = [mapView dequeueReusableAnnotationImageWithIdentifier:lastTwoCharacters];
|
|
||||||
annotationImage.image = annotationImage.image ? nil : [self imageWithText:lastTwoCharacters backgroundColor:[UIColor grayColor]];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (BOOL)mapView:(__unused MGLMapView *)mapView annotationCanShowCallout:(__unused id <MGLAnnotation>)annotation
|
- (BOOL)mapView:(__unused MGLMapView *)mapView annotationCanShowCallout:(__unused id <MGLAnnotation>)annotation
|
||||||
{
|
{
|
||||||
return YES;
|
return YES;
|
||||||
|
|||||||
Reference in New Issue
Block a user