在iOS7上的MKMapView中检测点击MKPolygonView

dfu*_*ara 5 objective-c mkmapview mkpolygon ios7

基于我在这个SO问题上找到的内容(在MKMapView的叠加上触摸事件),我已经实现了一种拦截MKPolygon上的轻击手势的方法.

它在我们的应用程序中运行良好,该应用程序是使用Xcode 4.6.3针对iOS 6构建的.但是当我在iOS 7设备上尝试它时停止工作.

特别

    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);
Run Code Online (Sandbox Code Playgroud)

由于某种原因,即使给定的坐标在MKPolygonView中,对CGPathContainsPoint的调用也不再返回YES.不确定是否有人遇到过这个问题,但我很感激您的任何见解.

谢谢!

Bac*_*ach 1

我遇到了同样的问题,只是阅读文档,我发现 MKPolygonView 在 iOS7 中已被弃用,应该使用 MKPolygonRenderer 代替。