我們目前有一個網站,可以按位置搜索對象。我們在我們國家有一個搜索框和一個國家的下拉菜單。每個對象都與一個狀態有關係。基於位置的搜索
我們希望將此網站擴大到其他國家。我們的選擇似乎是:
1 /對於每個我們想要進入的國家,我們都需要一個州名單和可能的郵政編碼。這些對象與狀態和郵政編碼相關聯,並在搜索框旁邊提供下拉菜單。
2將經度和緯度關聯到每個對象,並讓google api返回用戶搜索時輸入的地址的經度和緯度。然後找到落在搜索地址的long/lat的某個半徑範圍內的對象。
選項1表現良好,但受到限制,因爲在進入每個國家(獲取州/郵政編碼清單)之前,我們必須做很多工作。
選項2看起來是最有彈性的,進入一個新的國家沒有限制。但是,如果做得不好,它可能表現不佳。你將如何避免搜索表中的所有對象,以找出長/經緯度與搜索地址的長/半徑的半徑之差?
我們喜歡www.skillpages.com的工作原理。非常快速和準確的搜索,這是我們想要複製,如果我們選擇選項2.
任何意見如何最好地創建一個準確和彈性的基於位置的搜索算法將不勝感激。
感謝您的回答。我一直在看www.skillpages.com。它似乎自動知道要搜索的半徑。一個特定的地址搜索一個小半徑,如果你搜索整個國家,半徑似乎根本沒有被使用,因爲該國的所有技能都被返回。任何想法他們如何管理? – Tommy 2012-07-25 23:32:57
這不是我熟悉的網站,但猜測他們要麼將國家以及添加到數據庫的每條記錄的lng/lat存儲起來,然後根據您想要的搜索準確度進行不同的查詢。或者,他們可以使用某種類型的API(或使用本地數據集)來指定每個國家的緯度/經度邊界並將其用於查詢,但並非所有國家都有直接的邊界,可能會變得非常複雜那是準確的。 – 2012-07-26 00:10:48
好的,謝謝你的幫助,我猜想國家和長/拉特是做的方式 – Tommy 2012-07-26 14:33:48