0

我現在正在製作airbnb克隆。在這個應用程序中,我使用geocoder gem和google autocomplete。Geocoder結果和自動完成的區別

在首頁中,有一個搜索表單。在這種形式下,我使用了自動完成和地理編碼器。

當用戶選擇自動填充字段時,我從自動填充中獲得lat和lng。

當用戶沒有選擇自動填充建議時,他們從Geocoder.coordinates獲取lat和lng數據。

問題是當用戶在自動完成中選擇「Mariana bay sands singapore」時,它返回lat和lng參數。

但是用戶在搜索表單中輸入「Mariana bay sands singapore」(不選擇自動完成建議),它不會返回lat和lng參數。

我如何獲得像airbnb一樣的lat和lng參數?

回答

0

自動完成功能是位置庫的一部分 - 這就是爲什麼當自動完成選擇爲查詢提供一個位置時,您沒有使用地理編碼器接收到帶有位置的結果的原因。

使用Places API應該可以解決您的問題。示例:https://maps.googleapis.com/maps/api/place/textsearch/xml?query=Mariana+Bay+Sands+Singapore&key=YOUR_API_KEY

Geocoder API應該僅用於地址,而Places API和Places自動完成功能可用於語義位置和地址(包括您的示例中的POI或業務)。欲瞭解更多信息,請閱讀this blog post