【发布时间】:2013-09-09 10:42:48
【问题描述】:
我的问题是如何从当前位置找到特定区域 (500 米) 的最小和最大纬度和经度。
就我而言,比如我需要从500meter 获取 X 和 Y CLLocation (纬度和经度)面积
查看我的图片(抱歉,这可能是糟糕的绘图)
我也不得不尝试谷歌搜索,我得到了这样的链接
How can i get minimum and maximum latitude and longitude using current location and radius?
但我不知道它在我的情况下是如何实现的。
请在这个问题上帮助我。
注意:我不想使用
CLLocationDistance distance = [currentLocation distanceFromLocation:newLocation];,因为它对我的情况没有帮助,所以..
【问题讨论】:
-
有什么理由不能使用 distanceFromLocation 吗?因为这是计算距离的最准确方法,您可以利用它来计算最小值和最大值。不要使用 111 号码,它只适用于赤道。
-
@brianLikeApple 因为我的数据库中有纬度和经度列表,所以每次检查该区域是否在我的位置(500 米)时都不好,所以..
-
不,如果您的数据库真的很大,您不需要检查所有数据库。在这里,我说利用 distanceFromLocation 意味着您可以尝试通过添加或减去一些值来猜测 CLLocation 的位置。 distanceFromLocation 算法正在考虑您需要的一切,并为您提供更好的准确性。
-
我知道 :( 我在 DB 中有一个表,其中有 20,000 个数据,我只需要检索 500 米以下 500 米的纬度和经度数据,所以
distanceFromLocation:对我来说更好我需要与 DB 中的所有纬度和经度进行比较:( -
我认为他需要
distanceFromLocation的倒数才能确定周界点。 Parse.com 上提供了此类服务。不过,在当前情况下,使用数据库中的预过滤然后运行 distanceFromLocation函数以获得结果可能是一个更强大的解决方案。但是我们对应用程序的了解还不够,无法说这是否适用。
标签: iphone ios objective-c cocoa-touch cocoa