0

このコードをダウンロードしました。ユーザーの現在地がいずれかの地域に属しているかどうかを確認したい。そのために、次のメソッドを呼び出しましたが、常に 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、ポイントがその地域に属しているにもかかわらず、常に値を取得したくないことです。

マップを表示したくないので、他のオプションも歓迎します。

4

0 に答える 0