I think this can not be achieved using WKInterfaceMap but it can be achieved using WKInterfaceImage. I have not implemented all steps but flow can be,
Generate snapshot of Map with selected lat-long in centre as UIImage using MKMapSnapshotter,
MKMapSnapshotOptions * snapOptions= [[MKMapSnapshotOptions alloc] init];
CLLocation * Location = [[CLLocation alloc] initWithLatitude:23.0300 longitude:72.5800];
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(Location.coordinate, 300, 300);
snapOptions.region = region;
snapOptions.size = CGSizeMake(300, 300);
snapOptions.scale = [[UIScreen mainScreen] scale];
MKMapSnapshotter *mapSnapShot = [[MKMapSnapshotter alloc] initWithOptions:snapOptions];
[mapSnapShot startWithCompletionHandler:^(MKMapSnapshot *snapshot, NSError *error) {
if (error) {
NSLog(@"[Error] %@", error);
return;
}
UIImage *image = snapshot.image;//map image
NSLog(@"%@",image);
[self.mapImage setImage:image];
}];
We already have Annotation image in resource So dynamically create
merged images of annotation image to map snapshot image. If you want
to add animation from top then you need to render annotation image
from point (150,0) to (150,150) on map image. If you are generating
15 images for animation then you need set for loop with 15 limit and
each time increase Y of annotation image to 150/15 = 10. Keep track
of these merged images in NSMutableArray. You may consider this
answer for rendering images.
Use these dynamically generated NSMutableArray of images and set to
Animation for WKInterfaceImage to achieve map annotation.