0

對不起,這個相當開放的問題,但我想知道是否任何人有任何建議的最佳方式來創建一個應用程序,搜索特定半徑內的屬性。RoR位置搜索

我期望達到的最好的例子是RightMove

我想知道什麼是最好的設置將添加城市,城鎮和郵政編碼數據,並使其可搜索。

我一直在閱讀關於Geocoder,但想知道這是否是這樣一個應用程序的最佳選擇,或者是否有很好的選擇。例如,您是否會建議將所有位置數據存儲在我自己的數據庫中,或者使用API​​來提供此信息。

任何建議或人們可以提供真正的鏈接將不勝感激!謝謝。

回答

1

該方法完全取決於您需要經過地理編碼的數據的位置的要求和Geocoded數據的可用性。

使用地理編碼器爲您提供了一個優勢,即您不必爲更新給定位置的地理數據庫而煩惱。它有它自己的缺點(請求超時,特定位置的數據不可用,許可,查詢限制等),但可以解決它們。

如果您可以將數據存儲在數據庫中,那麼您可以使用Postgresql + PostGIS設置實現同樣的功能。 PostGIS模塊使您能夠根據半徑執行空間查詢,檢查給定的點是否在預定義的多邊形等中下降,並且由於這些在DB內部執行,所以性能也非常好。這種方法有兩個優點,您不必註冊任何服務並且沒有超時錯誤。這種方法的缺點是你必須自己維護/更新位置數據。

我已經用第二種方法完成了一些ROR項目,對我們來說工作得很好。

希望這會有所幫助。

+0

感謝您的諮詢! :) – 2013-02-22 11:50:55