2

現在のユーザーの場所が特定の地域内にあるかどうかを確認する必要があります。ここではMKPolygonView.I had a route in myMKMapViewを使用し、ユーザーがその特定のルートにいるかどうかを確認したいです。次のコードを試しましたが、その地域にいる場合でも、間違ったパスにいることが常に示されます。私がどこで間違っていたのか分かりますか?どんな助けでも大歓迎です。ありがとう。

    BOOL exist = NO;
    CLLocationCoordinate2D mapCoordinate = newLocation.coordinate;//user location or annot coord
    MKMapPoint mapPoint = MKMapPointForCoordinate(mapCoordinate);
    for(MKPolyline *routeLine in overlays)
    {

        NSLog(@"Overlays array count = %d",overlays.count);
        MKPolygonView *polygonView =(MKPolygonView *)[mapView viewForOverlay:routeLine];
        CGPoint polygonViewPoint = [polygonView pointForMapPoint:mapPoint];
        BOOL mapCoordinateIsInPolygon = CGPathContainsPoint(polygonView.path, NULL, polygonViewPoint, NO);
        NSLog(@"mapcoordinate %c",mapCoordinateIsInPolygon);
        if(mapCoordinateIsInPolygon)
        {
            exist = YES;
        }
        else
        {
            exist = NO;

        }
    }
4

1 に答える 1