作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一些 KML 数据定义了 map 上的一个区域,如下所示:
131.0764742247829,-15.80786022929951,0 132.6357700620065,-16.54895727734661,0
134.1119108999971,-17.28040233069844,0 135.8545033459996,-18.1298170074137,0
137.7396886168202,-19.07860187595016,0 140.011948401144,-20.18462043802856,0
142.3114600417346,-21.19369381963822,0 144.1566045495202,-22.15731684591415,0
我想在我的 iOS 应用程序中确定用户的当前位置是否在此定义区域内。我该怎么做?
最佳答案
如果您知道圆的中心和半径,那就很容易了。
CLRegion *circle = [CLRegion initCircularRegionWithCenter:centerCoordinate radius:circleRadius identifier:@"myCircle"];
BOOL doesItContainMyPoint = [circle containsCoordinate:myLocation];
根据修改后的问题更新
我从来没有尝试过这个,但是你不能用你的点创建一个 UIBezierPath(你不必实际绘制贝塞尔路径)然后使用 UIBezierPath 的 - (BOOL)containsPoint:(CGPoint)指向
测试是否包含?
关于iphone - 如何确定当前位置是否在 KML 定义的区域内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7806223/
我有数百个位置的列表,只想显示当前屏幕上这些位置的 MKPinAnnotation。屏幕从 2 英里半径内的用户当前位置开始。当然,用户可以滚动和缩放屏幕。现在,我等待 map 更新事件,然后循环遍历
我试过检查 CGRect: CGFloat imageX1 = imageView.frame.origin.x; CGFloat imageY1 = imageView.frame.origin
我是一名优秀的程序员,十分优秀!