我已经下载了这段代码。我想检查用户当前位置是否属于任何区域。为此,我调用了以下方法,但它总是返回 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);
}
}
我的问题是mapCoordinateIsInPolygon
即使该点属于该区域,我也希望始终没有任何价值。
我不想显示地图,所以也欢迎任何其他选项。