Я обнаруживаю длинное нажатие, чтобы поставить булавку на карту, и она работает, я добавляю переменную pinId, которую я увеличиваю каждый раз, я опускаю точку, чтобы проверить, что только две булавки сброшены на одной карте, но здесь что-тоЯ думаю, что не работает нормально, потому что я могу поставить только один значок на карту!
Вот код:
-(void)handleLongPressGesture:(UIGestureRecognizer*)sender {
if (sender.state == UIGestureRecognizerStateEnded)
{
[self.mapView removeGestureRecognizer:sender];
}else{
if (pinId < 3) {
CGPoint point = [sender locationInView:self.mapView];
CLLocationCoordinate2D locCoord = [self.mapView convertPoint:point toCoordinateFromView:self.mapView];
MapAppAnnotation* annotation = [[MapAppAnnotation alloc]initWithCoordinate:locCoord andID:pinId];
pinId++;
[mapView addAnnotation:annotation];
[annotation release];
}}
}
- (void)update{
UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPressGesture:)];
[self.mapView addGestureRecognizer:longPressGesture];
[longPressGesture release];
}
- (void)viewDidLoad {
[super viewDidLoad];
//...
pinId = 1;
self.update;
}