如何在谷歌地图上找到离我最近的点?

时间:2011-05-04 11:49:27

标签: android google-api

我正在编写一个Android应用程序,应该从我的SQL服务器下载一堆地址,对它们进行反向地理编码,将它们全部与我当前的位置进行比较并返回最接近我的地址,而不是几何,但是那是我距离最短的车道。

我设法让反向地理编码工作,但是当我运行我的程序几次时,我在谷歌上点击了OVER_QUERY_LIMIT。不用说,我的数据库中有很多地址。

我知道我可以快速而肮脏的方式做到这一点,通过比较我当前位置的纬度和经度与我的地址的纬度和经度,而不是将它与实际行驶距离进行比较,看看哪个地址离我最近。这个问题的一个问题是,这个应用程序将用于一个有很多湖泊可以驱动的区域,使用这种方法可能会返回一些愚蠢的结果。

如何防止这种情况一再发生?我可以向谷歌提供我所有地址的视图,只需进行一次比较吗?我真的需要帮助。

1 个答案:

答案 0 :(得分:1)

实际上,您必须查询路由服务(不一定是谷歌地图,据我所知,Cloudmade为您提供路由;肯定还有更多)以获取每个兴趣点的行车路线你然后选择最近的一个。这是一种非常糟糕的做法,因为您对请求数量的限制非常有限。

根据Google Maps API TOS(第10.1.3段),并不总是允许你这样做。

我在类似案例中所做的是存储所有POI的坐标,并按照纬度/经度范围查找最接近的坐标。