refactor: Use new annotation models also in notification extension
This commit is contained in:
@@ -7,9 +7,8 @@
|
||||
//
|
||||
|
||||
#import "NotificationViewController.h"
|
||||
#import "EQNMapAnnotationPastquakes.h"
|
||||
#import "EQNMapAnnotationSeismicNetwork.h"
|
||||
#import "EQNUtility.h"
|
||||
#import "EQNNotificationContent-Swift.h"
|
||||
|
||||
@import UserNotifications;
|
||||
@import UserNotificationsUI;
|
||||
@@ -40,7 +39,8 @@
|
||||
- (void)viewDidLoad
|
||||
{
|
||||
[super viewDidLoad];
|
||||
// Do any required interface initialization here.
|
||||
|
||||
[self.mapView registerClass:[EQNCustomAnnotationView class] forAnnotationViewWithReuseIdentifier:EQNCustomAnnotationView.Identifier];
|
||||
}
|
||||
|
||||
- (void)didReceiveNotification:(UNNotification *)notification
|
||||
@@ -61,15 +61,15 @@
|
||||
[self.mapView setRegion:region animated:YES];
|
||||
|
||||
if ([userInfo[@"type"] isEqualToString:@"eqn"]) {
|
||||
EQNMapAnnotationPastquakes *annotation = [[EQNMapAnnotationPastquakes alloc] initWithTitle:content.body
|
||||
location:coordinate.coordinate
|
||||
intensita:[userInfo[@"intensity"] intValue]];
|
||||
EQNMapAnnotationPastquake *annotation = [[EQNMapAnnotationPastquake alloc] initWithTitle:@""
|
||||
coordinate:coordinate.coordinate
|
||||
intensity:[userInfo[@"intensity"] intValue]];
|
||||
[self.mapView addAnnotation:annotation];
|
||||
|
||||
} else if ([userInfo[@"type"] isEqualToString:@"manual"]){
|
||||
EQNMapAnnotationSeismicNetwork *annotation = [[EQNMapAnnotationSeismicNetwork alloc] initWithTitle:content.body
|
||||
location:coordinate.coordinate
|
||||
magnitudo:[userInfo[@"magnitudo"] intValue]];
|
||||
EQNMapAnnotationUserReport *annotation = [[EQNMapAnnotationUserReport alloc] initWithTitle:@""
|
||||
coordinate:coordinate.coordinate
|
||||
magnitude:[userInfo[@"magnitudo"] intValue]];
|
||||
[self.mapView addAnnotation:annotation];
|
||||
}
|
||||
|
||||
@@ -106,24 +106,20 @@
|
||||
|
||||
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
|
||||
{
|
||||
if ([annotation isKindOfClass:[EQNMapAnnotationPastquakes class]]) {
|
||||
EQNMapAnnotationPastquakes *anLocation = (EQNMapAnnotationPastquakes *)annotation;
|
||||
MKAnnotationView *annotationView = [mapView dequeueReusableAnnotationViewWithIdentifier:EQNMapAnnotationPastquakesIdentifier];
|
||||
if (annotationView == nil) {
|
||||
annotationView = anLocation.annotationView;
|
||||
} else {
|
||||
annotationView.annotation = anLocation;
|
||||
}
|
||||
if ([annotation isKindOfClass:[EQNMapAnnotationPastquake class]]) {
|
||||
EQNMapAnnotationPastquake *pastquake = (EQNMapAnnotationPastquake *)annotation;
|
||||
|
||||
EQNCustomAnnotationView *annotationView = (EQNCustomAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:EQNCustomAnnotationView.Identifier];
|
||||
annotationView.image = pastquake.image;
|
||||
annotationView.title = pastquake.title;
|
||||
return annotationView;
|
||||
|
||||
} else if ([annotation isKindOfClass:[EQNMapAnnotationSeismicNetwork class]]) {
|
||||
EQNMapAnnotationSeismicNetwork *anLocation = (EQNMapAnnotationSeismicNetwork *)annotation;
|
||||
MKAnnotationView *annotationView = [mapView dequeueReusableAnnotationViewWithIdentifier:EQNMapAnnotationSeismicNetworkIdentifier];
|
||||
if (annotationView == nil) {
|
||||
annotationView = anLocation.annotationView;
|
||||
} else {
|
||||
annotationView.annotation = anLocation;
|
||||
}
|
||||
} else if ([annotation isKindOfClass:[EQNMapAnnotationUserReport class]]) {
|
||||
EQNMapAnnotationUserReport *report = (EQNMapAnnotationUserReport *)annotation;
|
||||
|
||||
EQNCustomAnnotationView *annotationView = (EQNCustomAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:EQNCustomAnnotationView.Identifier];
|
||||
annotationView.image = report.image;
|
||||
annotationView.title = report.title;
|
||||
return annotationView;
|
||||
}
|
||||
return nil;
|
||||
|
||||
Reference in New Issue
Block a user