現在のユーザーの場所が特定の地域内にあるかどうかを確認する必要があります。ここでは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;
}
}