2010-01-11 70 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