如何确定注释是否在 MKPolygonView 内部 (iOS)
我正在尝试计算特定注释(例如用户位置的蓝色圆圈)或 MKPinAnnotation 是否位于地图视图上的 MKPolygon 图层内部。
有什么建议可以实现这一目标吗?
I'm trying to calculate if a specific annotation(like the blue circle of the user location) or a MKPinAnnotation is inside an MKPolygon layer on the mapview.
Any advice to achieve this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
下面将坐标转换为多边形视图中的 CGPoint,并使用 CGPathContainsPoint 来测试该点是否在路径中(可能是非矩形):
这应该适用于作为 MKOverlayPathView 子类的任何覆盖视图。您实际上可以在示例中将 MKPolygonView 替换为 MKOverlayPathView。
The following converts the coordinate to a CGPoint in the polygon view and uses CGPathContainsPoint to test if that point is in the path (which may be non-rectangular):
This should work with any overlay view that is a subclass of MKOverlayPathView. You can actually replace MKPolygonView with MKOverlayPathView in the example.
上面稍作修改即可计算多边形中的点/坐标,而无需使用格式化为 MKPolygon 类扩展的 MKMapView:
享受吧!
Slightly modified above to do calculations for points/coordinates in polygons without the use of a MKMapView formatted as an extension to MKPolygon class:
Enjoy!