- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试检测 map 注释是否在 MKCircle 内。我不知疲倦地浏览了互联网,但运气不佳,没有找到关于 Swift 2.0 的可靠教程。所有教程或 Stack Overflow 问题都使用已弃用的代码或针对 Objective-C 进行了回答。不幸的是,我对 Swift 还很陌生,所以翻译答案有点困难。
我目前拥有的:
到目前为止,我已经用 MKCircle 声明了一个圆圈,它看起来像,
let location = CLLocationCoordinate2D(latitude: 36.9900,
longitude: -122.0605)
let circle = MKCircle(centerCoordinate: location, radius: 100)
我最终想使用 CGPathContainsPoint 来检测 Annotation 是否在这个圆圈内。 CGPathContainsPoint 的定义看起来像,
CGPathContainsPoint(_ path: CGPath?, _ m: UnsafePointer<CGAffineTransform>, _ point: CGPoint, _ eoFill: Bool) -> Bool
在哪里,
path - 检查点的路径
m - 仿射变换(不确定这样做的目的是什么,但大多数问题都将此参数设置为 nil)
point - 有问题的点
eoFill - 使用偶数-奇数填充(真或假,同样不确定,但大多数问题都设置为假)
我的问题:如何转换或翻译我的 MKCircle,使其表现为 CGPath,以便将其传递到 CGPathContainsPoint 并将我的 CLLocationCoordinate2D 转换为 CGPoint?
最佳答案
为什么要使用复杂的路径评估来确定点是否在圆内?您描述的内容的一些变化对于针对任意复杂区域的测试点可能有意义,但您说的是一个圆圈。圆的定义是距选定点(中心)一定距离(半径)的点集。所以:
CLLocation
对象。 distanceFromLocation:
求它们之间距离的方法。 关于swift - 在 Swift 2.0 中使用 MKCircle 检测 CGPathContainsPoint 是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34981875/
这是在 GameViewController.m -(void)fillMutablePath{ CGPoint movePoint = CGPointFromString([pointsTo
我正在做一个 iOS 游戏,想用这种方法进行碰撞检测。 由于有很多(50+)点可以检查每一帧,我想知道这种方法是否可以在 iDevice 的图形硬件上运行。 最佳答案 跟进@DavidRönnqvis
我正在使用 SVGKit 在我的应用程序中显示不同的 SVG 内容。所需的功能之一是检测 svg 路径内区域内发生的点击并用某种颜色填充它。 CGPathContainsPoint 似乎是正确的解决方
我需要检查 CGPoint 是否在 SKSpriteNode 中。 经过一些研究,CGPathContainsPoint 似乎适合我的目的。 if CGPathContainsPoint(my_spr
我正在制作一个 CGPoint 和一个 CGPathRef,然后尝试查找 CGPoint 是否在 CGPathRef 内部。这是代码: CGMutablePathRef path = CGPathCr
我会尽量保持简短。 拿下面的测试代码: CGPath* path = CGPathCreateMutable(); CGPathMoveToPoint(path, nil, 318.43, 183.
在 SO question 中我今年早些时候问过,我得到了这段代码: MKPolygonView *polygonView = (MKPolygonView *)[self.mapView viewF
我正在尝试检测 map 注释是否在 MKCircle 内。我不知疲倦地浏览了互联网,但运气不佳,没有找到关于 Swift 2.0 的可靠教程。所有教程或 Stack Overflow 问题都使用已弃用
我是一名优秀的程序员,十分优秀!