我正在构建一个django应用,需要在用户当前位置附近显示(在谷歌地图上)项目。 (即最近的咖啡店的要求)。 我还没有决定如何在db中捕获这些项目的位置。 要求不是最终的,但我猜测用户会想要按距离排序等。 我的问题是我应该研究什么解决方案? 我看着geodjango,但似乎有点矫枉过正。 你能告诉我你会使用什么解决方案以及为什么?
谢谢大家!
答案 0 :(得分:2)
您需要使用像MySQL或postgresql这样的RDBMS。然后,创建您的对象(例如:cafeshops),其纬度和经度为flout。获取用户的经度和经度,并通过sin和cos函数查找。
您需要编写一个原始SQL查询,以根据纬度和经度查找对象。
阅读本文:http://www.scribd.com/doc/2569355/Geo-Distance-Search-with-MySQL
看看这个:Filter zipcodes by proximity in Django with the Spherical Law of Cosines
并且:latitude/longitude find nearest latitude/longitude - complex sql or complex calculation