Iphone 查找点是否位于给定多边形内?

Iphone 查找点是否位于给定多边形内?,iphone,ios,objective-c,map,polygon,Iphone,Ios,Objective C,Map,Polygon,我已经下载了代码。我想检查用户当前位置是否属于任何区域。为此,我调用了下面的方法,但它总是返回FALSE。下面是我的代码: -(void)checkPoint { CLLocationCoordinate2D mapCoordinate ; mapCoordinate.longitude=34.54664654; mapCoordinate.latitude=-117.05646; NSMutableArray *overlays = (NSMutableArr

我已经下载了代码。我想检查用户当前位置是否属于任何区域。为此,我调用了下面的方法,但它总是返回FALSE。下面是我的代码:

-(void)checkPoint
{
    CLLocationCoordinate2D mapCoordinate ;
    mapCoordinate.longitude=34.54664654;
    mapCoordinate.latitude=-117.05646;

    NSMutableArray *overlays = (NSMutableArray *)[HHLViewController usStatesAndTerritoryOverlays];

    MKMapPoint mapPoint = MKMapPointForCoordinate(mapCoordinate);
    for (int i=0; i<[overlays count]; i++)
    {

        MKOverlayView *overlayview = (MKOverlayView *)[self.stateMapView viewForOverlay:[overlays objectAtIndex:i]];


         MKPolygonView *polygonView =[[MKPolygonView alloc] initWithOverlay:overlayview.overlay];


        CGPoint polygonViewPoint = [polygonView pointForMapPoint:mapPoint];

        BOOL mapCoordinateIsInPolygon =
        CGPathContainsPoint(polygonView.path, NULL, polygonViewPoint, NO);

        NSLog(@"polygon is inside %d",mapCoordinateIsInPolygon);
    }

}
-(无效)检查点
{
CLLocationCoordinate2D地图坐标;
地图坐标经度=34.54664654;
地图坐标纬度=-117.05646;
NSMUTABLEARRY*覆盖=(NSMUTABLEARRY*)[HHLViewController USSTATES和TerritoryOverlays];
MKMapPoint mapPoint=MKMapPointForCoordinate(mapcordinate);

对于(int i=0;我对您正在使用的API不太了解,但在使用此方法之前,我已经实现了pointInsidePolygon:另外,请参阅此处以获得一些粗略解释的解决方案:抱歉,我误解了问题检查此链接可能与您的需要类似@rsanchezsaez我也经历了这一点,但没有帮助