iPhone MKMapView:从当前位置检测数组中最近的位置
我有一个大约有1,000个对象的数组,每个对象都有一个精确的坐标值。 我想要做的是拿一个我有的搜索按钮,当按下时,检测当前位置并计算10个最近的对象到这个位置。 有什么建议可以解决这个问题吗? 谢谢。
该公式仅适用于每个方向上的网格相同的平面。 这在赤道上是小规模的,但距离赤道越近,经度线越接近彼此,而纬度线仍然是相同的距离。
例如,来自奥克兰的一个纬度是~111.2Km,其中一个经度是~88.8Km。 因此网格不是正方形。 有效地意味着从(0,0)进一步到(0,1)而不是(1,0)。
正确的解决方案是使用Apple的CLLocation及其getDistanceFrom :(或distanceFromLocation :),它根据球体表面计算真实距离(我认为使用WGS84投影)。
标记,
是的,这很容易。 您所要做的就是遍历arrays并计算每个arrays与您当前位置之间的距离。 然后,您可以保留距离最短的十条记录。
距离公式只是:
( (x1 - x2)^2 + (y1 - y2)^2 ) ^ (1/2)
因此我循环使用NSMutableArray
,然后执行push-pop类型算法以返回最低10。
如果您需要坐标代码的帮助,请告诉我。
- dynamic更改自动布局
- UIActivityViewController背景颜色
- iPhone,我如何设置我的dateselect器的最低date到今天在代码?
- 试图添加一个UIButton到一个UIView但得到NSInvalidArgumentException',原因:' – :无法识别
- 如何将文件Blob转换为NSData?
- Windows上的Xcode为iOS开发
- UITableViewCell中的UILabel可以创build一个自定义的单元格,而不需要创build单独的类
- 在iPhone上添加Twitter.framework到Theos
- 防止通过iTunes升级iOS应用程序时删除用户数据