2016-09-13 2 views
0

Я использую GMSMapview, и когда я внедряю один клик на карту, тогда он не работает. как я могу это сделать?Добавить однонаправленный распознаватель не работает в GMSMapview

tapRec = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(mapDidTap:)]; 
tapRec.delegate = self; 
tapRec.numberOfTapsRequired = 1; 
[mapView2 addGestureRecognizer: tapRec]; 

и

-(void)mapDidTap:(UITapGestureRecognizer *)gestureRecognizer 
{ 
[mapView2 removeGestureRecognizer:tapRec]; 
_filterView.hidden = YES; 
} 
+0

где вы добавили жест, его называют только один раз правильно, просто скрыть это '[mapView2 removeGestureRecognizer: tapRec];' и попробовать один раз –

+0

@ Anbu.Karthik Я добавляю его на карте Google в поле зрения сделал нагрузки – Ankur

+0

нет необходимости в жесте, следовать примеру ответ в порядке, вы можете скрыть свой вид внутри делегата –

ответ

1

GMSMapView, имеющий метод делегата. Интегрируйте этот метод.

- (void)mapView:(GMSMapView *)mapView didTapAtCoordinate:(CLLocationCoordinate2D)coordinate 
+0

хорошо, не нужно жест просто добавить делегата и скрыть вид здесь –

+0

да ... так просто .. – Ankur

+0

@ Ankur up голосуйте, если это вам поможет. спасибо – Sujit

0

Вам не нужно добавлять жест нажатия. GMSMapView предоставляет свой собственный метод обнаружения крана на определенной широте/долготе.

func mapView(mapView: GMSMapView, didTapAtCoordinate coordinate: CLLocationCoordinate2D) { 
    //Coordinates where user has tapped 
    print(coordinate) 
} 
Смежные вопросы