Tôi đang cố gắng nắm bắt một tọa độ từ sự kiện cảm ứng. Tôi có thể bắt nhưng khi cung cấp chức năng thu phóng có số lượng lớn và khi tôi đặt chức năng này vào một hàmĐiểm chạm với bản đồ thu phóngXem
newCoord = [mapView convertPoint:location toCoordinateFromView:mapView],
Tôi nhận được tọa độ sai. Tôi có thể làm gì?
Mã của tôi:
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInView:touch.view];
NSLog(@"locationTOUCH:%f,%f", location.x,location.y);
CLLocationCoordinate2D newCoord;
newCoord = [mapView convertPoint:location toCoordinateFromView:mapView];
NSLog(@"coordinate-%f,%f", newCoord.latitude,newCoord.longitude);
là touch.view giống như MapView? Nó có thể tốt hơn để sử dụng một UIGestureRecognizer để phát hiện các chạm trên bản đồ. Xem [câu trả lời này] (http://stackoverflow.com/questions/4317810/how-to-capture-tap-gesture-on-mkmapview/4318835#4318835). Câu trả lời đó không đề cập đến bạn cũng nên trả về YES trong shouldRecognizeSimultaneouslyWithGestureRecognizer để tránh can thiệp vào công cụ nhận dạng cử chỉ của bản đồ. – Anna