Ruby on rails 3 地理编码与rails搜索

Ruby on rails 3 地理编码与rails搜索,ruby-on-rails-3,geolocation,Ruby On Rails 3,Geolocation,我一直在使用谷歌地图API进行一些基于位置的搜索(我认为这是一个结构性问题,而不是对地图API的任何批评) 例如,如果用户搜索“Victoria,Canada”,它将按预期显示“Victoria,Canada”的结果。然而,如果用户搜索“加拿大”,谷歌会返回该国中部的经度和纬度,这对于正确定位地图中心至关重要。但是,它不会显示任何结果,因为最近的位置离google返回的位置太远。我过滤掉了20英里以外的结果 如果用户输入了州名或国家名,Google Maps API能否返回我可以用来判断的任何信

我一直在使用谷歌地图API进行一些基于位置的搜索(我认为这是一个结构性问题,而不是对地图API的任何批评)

例如,如果用户搜索“Victoria,Canada”,它将按预期显示“Victoria,Canada”的结果。然而,如果用户搜索“加拿大”,谷歌会返回该国中部的经度和纬度,这对于正确定位地图中心至关重要。但是,它不会显示任何结果,因为最近的位置离google返回的位置太远。我过滤掉了20英里以外的结果

如果用户输入了州名或国家名,Google Maps API能否返回我可以用来判断的任何信息?如果没有,是否有人制定了变通解决方案


理想情况下,我希望避免只按最近的位置排序结果。当用户搜索“美国”时,我不希望“西班牙”的项目出现在列表的底部。我会尝试在搜索之前确定查询是一个州还是一个国家,但考虑到国家和地区名称的拼写可能不同,这似乎是一项非常艰巨的任务。如果我只是期待英语拼写,那将是一个更容易的方法

假设这是一个站点上的表单,有一个控制器解析表单并将请求发送到Google的API,您可以将表单分解为地址、城市、州和国家(如果需要)表单元素,然后生成地址和城市必填字段

我正在用一个使用GooglePlacesAPI构建的站点使用类似的方法,它似乎适合我