gpt4 book ai didi

ios - NSLog 检测更新 MKPolygon 中的当前位置

转载 作者:行者123 更新时间:2023-11-29 03:41:31 29 4
gpt4 key购买 nike

这里是菜鸟。我已经阅读了如何检测 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; }

我在 iPhone 上运行的 Xcode 中模拟了不同的位置,虽然纬度/经度更新,但它并没有给出我想要的绘制多边形中的真/假。在某一时刻,它显示为全部 true,但现在 NSLog 中全部为(null)。谢谢!

最佳答案

在您的函数中,它会返回 View ,因此无法访问设置mapCIIP的代码。

关于ios - NSLog 检测更新 MKPolygon 中的当前位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18381590/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com