Я пытаюсь сделать несколько полигонов (MKOverlayViews) применимыми, добавив к каждому из них распознаватель жестов.
У меня есть NSArray, содержащий KMLParsers (из примера кода KMLViewer).
-(MKOverlayView*)mapView:(MKMapView *)mapView viewForOverlay:(id<MKOverlay>)overlay{
for (NSString *key in kmls) {
KMLParser *kml2=[kmls objectForKey:key];
MKOverlayView *oView;
if ( (oView = [kml2 viewForOverlay:overlay]) ) {
if (layerNumber == 8) {
NSLog(@"8");
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
initWithTarget:self
action:@selector(showZoneText:)];
tap.numberOfTapsRequired = 1;
tap.numberOfTouchesRequired = 1;
[oView addGestureRecognizer:tap];
[tap release];
}
return oView;
}
}
return nil;
}
Этот код регистрирует 8, поэтому выполняется блок «if» и отображается номер слоя 8.
Однако метод «showZoneText» никогда не запускается, когда я нажимаю на полигоны (NSLog вэтот метод никогда не отображается в консоли).
-(void)showZoneText:(UITapGestureRecognizer*)recognizer{
NSLog(@"show");
}
Любая помощь по этому поводу?
спасибо,
G.