2010-01-11 81 views
8

打扰我的无知,我甚至不确定这个正确的术语。我想要做的是按照城市和州或邮政编码在我的django应用程序中进行搜索,并且还包括距离特定距离(25,50,75英里)的结果。django,基于位置的搜索

我猜你可能需要将城市和州或邮政编码转换为纬度和经度,然后根据这些信息进行搜索。这是正确的还是在django应用程序中完成此操作的最佳方法是什么?有没有人知道现在已经这样做的退出应用程序,所以我可以看看代码?

感谢您的帮助。

回答

7

您可以使用GeoDjango,它已包含这些功能。否则,你可以完全按照你所说的做:geocode地址来获取经度和纬度,然后只是做数学;-)

+0

你能告诉我一些关于我将如何做到这一点与GeoDjango内置?我看了一下,但看起来更像是用来在地图上显示东西。 – Joe 2010-01-12 05:00:27

+2

在geodjango中设置好模型后,他们提供了“空间查询”,用于根据距离或地理区域等条件从数据库中选择对象。这可能是你想要的矫枉过正,但是我从经验告诉你,将地址编码为lat/long,然后用数学算法来获得附近的物体并不容易。 – 2010-01-12 07:46:22

+0

这是否意味着整个项目是GeoDjango项目,或者只能通过创建一些相关模型来使用空间查询功能? – 2012-06-08 07:16:06