NSLog обнаруживает обновление текущего местоположения в MKPolygon

Нуб здесь. Я прочитал о том, как обнаружить точку в MKPolygon, но у меня возникают трудности с ее реализацией - возможно, это просто связано с той частью кода, в которой я проверяю местоположение пользователя... Я не даже уверен, что он постоянно проверяет. Во всяком случае, вот соответствующий код:

- (void)locationManager:(CLLocationManager *)manager
  didUpdateLocations:(NSArray *)locations {
self.current = [locations lastObject];
NSLog(@"lat%f - lon%f", self.current.coordinate.latitude, self.current.coordinate.longitude);
NSLog(@"%@", self.mapCIIP); }

и позже

-(MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id <MKOverlay>)overlay{
if([overlay isKindOfClass:[MKPolygon class]]){
    MKPolygonRenderer *view = [[MKPolygonRenderer alloc] initWithOverlay:overlay];
    view.lineWidth=1;
    view.strokeColor=[UIColor blueColor];
    view.fillColor=[[UIColor blueColor] colorWithAlphaComponent:0.5];


    return view;
    CLLocationCoordinate2D mapCoordinate = CLLocationCoordinate2DMake(self.current.coordinate.latitude, self.current.coordinate.longitude);

    MKMapPoint mapPoint = MKMapPointForCoordinate(mapCoordinate);
    if (CLLocationCoordinate2DIsValid(mapCoordinate)) {
        NSLog(@"Coordinate valid");
    } else {
        NSLog(@"Coordinate invalid");
    }

    CGPoint polygonViewPoint = [view pointForMapPoint:mapPoint];


    if ( CGPathContainsPoint(view.path, NULL, polygonViewPoint, NO) ) {
        self.mapCIIP = @"TRUE";
    }
    else {
        self.mapCIIP = @"false";
    };


}
return nil; }

Я симулировал разные места в XCode, когда он работал на моем iPhone, и хотя обновление lat / long не дает мне того, что я хочу для истинного / ложного в многоугольнике, который я нарисовал. В какой-то момент это показывалось как все истинное, но теперь все это (ноль) в NSLog. Спасибо!

1 ответ

Частично через вашу функцию он возвращает viewпоэтому код, устанавливающий mapCIIP не может быть достигнуто

Другие вопросы по тегам