는 내가 완전히 감지 할 필요가 건 드리면 이해 확실하지 않다 또는 왜/당신이 그들을 발견해야하는지. 그러나 touchesbegan 때문에 GMSMapView 위에 사용자 팬 동작을 감지하는 비슷한 문제가있었습니다. 한 번만 호출되었습니다.
나는 자신의 "현재 위치"버튼을 사용하여 사용자가지도의 위치를 켜고 끌 수 있도록 토글 할 수 있습니다. 나는 사용자가 언제지도의 패닝 수신을 방해하지 않고지도를 "패닝"했는지 알아야했습니다 (여전히지도가 잘 보이길 원했습니다).
// Creates Map centered at current location
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:theLocationManager.location.coordinate.latitude
Longitude:theLocationManager.location.coordinate.longitude
zoom:15];
theMapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
theMapView.myLocationEnabled = YES;
theMapView.delegate = self;
theMapView.camera = camera;
self.view = theMapView;
가 그럼 난 팬 제스처 인식기를 작성
theMapView
의 제스처 인식기 속성에 추가 :
첫째,지도를 만들었습니다. 나는 선택 방법 self
에 목표를 설정해야했다 didPan:
// Watch for pan
UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget: self action:@selector(didPan:)];
theMapView.gestureRecognizers = @[panRecognizer];
마지막으로, 같은 주요 파일에, 나는 반응하는
didPan:
방법을 구현
때 사용자 팬 :
- (void) didPan:(UIPanGestureRecognizer*) gestureRecognizer
{
NSLog(@"DID PAN");
// React here to user's pan
}
정말 완벽한 답변입니다. 감사합니다 +1 –