在 iPhone 中查找最近的地点
Posted
技术标签:
【中文标题】在 iPhone 中查找最近的地点【英文标题】:find nearest places in iPhone 【发布时间】:2009-10-10 09:40:44 【问题描述】:您好所有 iPhone 开发者,
我正在开发一个 iPhone 应用程序。
在这个应用程序中,我想找到与我从 iPhone 设备获取的当前 CLLocation 相关的最近地点。
我目前在不同的服务器上有一个数据库。
我正在通过 .NET 网络服务访问它。
在用于测试目的的数据库中,我创建了一些包含我从谷歌地图获取的纬度和经度字段的记录。
现在,我的问题是:
如何确定数据库中的位置在当前位置附近(在公里范围内)?
我的选择如下:
如果
我必须得到一个基于地址和 currentLocation.latitude 和 currentLocation.longitude 并通过它 到我比较它的服务 有可用的地址(我有 读某处“地理编码”)。否则
我可以将纬度和经度直接传递给网络服务 然后做(我想要什么类型的 如果有人知道,建议)一些 在那里计算并返回 将最近地点数据传回 iPhone。否则
或者这个解决方案完全 合乎逻辑,如果有人有解决方案 重新评估它或教程然后它 会有用的。
【问题讨论】:
这些答案有帮助吗? ***.com/questions/524077/… 比它给了我一些方向 【参考方案1】:确实,有很多反向地理编码服务(Google、Yahoo!、GeoNames 等)可以将纬度/经度对转换为街道地址。
但是,如果您的数据库中已经有 lat/lon 对,那么我认为您不需要转换为街道地址。如果你所有的点都用纬度/经度表示,计算距离会容易得多,你可以使用Haversine formula。
事实上,如果您的数据库本身支持空间类型(例如,MS SQL 2008 appears to),那么您可以将该计算推送到数据库层而不必担心。这对我来说似乎是正确的方法:让您的 iPhone 应用程序将纬度/经度发送到您的网络服务,并让数据库计算最近的兴趣点。
【讨论】:
以上是关于在 iPhone 中查找最近的地点的主要内容,如果未能解决你的问题,请参考以下文章