Dựa trên những gì tôi tìm thấy trên câu hỏi SO này (Touch events on MKMapView's overlays), tôi đã thực hiện một cách để đánh chặn cử chỉ chạm trên MKPolygon.Phát hiện Chạm vào MKPolygonXem trong MKMapView trên iOS7
Nó hoạt động tốt trong ứng dụng của chúng tôi được xây dựng bằng Xcode 4.6.3 so với iOS 6. Tuy nhiên mọi thứ ngừng hoạt động khi tôi thử trên thiết bị iOS 7.
Cụ
CLLocationCoordinate2D coord = [neighborhoodMap_ convertPoint:point
toCoordinateFromView:neighborhoodMap_];
// We get view from MKMapView's viewForOverlay.
MKPolygonView *polygonView = (MKPolygonView*) view;
CGPoint polygonViewPoint = [polygonView pointForMapPoint:mapPoint];
BOOL mapCoordinateIsInPolygon = CGPathContainsPoint(polygonView.path,
NULL,
polygonViewPoint,
NO);
Đối với một số lý do cuộc gọi đến CGPathContainsPoint không còn trả YES thậm chí tọa độ nhất định là trong MKPolygonView. Bạn không chắc chắn nếu có ai gặp vấn đề này, nhưng tôi sẽ đánh giá cao bất kỳ thông tin chi tiết nào bạn có thể có.
Cảm ơn!
Nó chỉ ra rằng tài sản của con đường polygonView là NULL. Nó chắc chắn là một lỗi kỳ lạ .. – dfujiwara
Chắc chắn là một lỗi, tôi có cùng một vấn đề. Đăng nhập một vé với Apple. – Dwill
Vâng, tôi đã gửi một vé lỗi cho Apple với một ứng dụng mẫu. Hy vọng rằng họ sẽ sửa chữa nó cho iOS7 GA .. qua các ngón tay của tôi. – dfujiwara