Ruby 我怎么知道地理编码器的结果是否只是城市名称的匹配?

Ruby 我怎么知道地理编码器的结果是否只是城市名称的匹配?,ruby,google-geocoder,Ruby,Google Geocoder,我正在使用Geocoder gem和Google查找。我很难过滤匹配项 我的代码是: geocoded_by :complete_address, params: { region: 'UY', components: { country: 'UY' } } 我只想要某个国家(乌拉圭)的结果。如果我像那样查找地址,它不会找到结果。(例如Hernani 1570)。

我正在使用Geocoder gem和Google查找。我很难过滤匹配项

我的代码是:

  geocoded_by :complete_address, params: {
                      region: 'UY',
                      components: { country: 'UY' }
                    }
我只想要某个国家(乌拉圭)的结果。如果我像那样查找地址,它不会找到结果。(例如
Hernani 1570
)。所以,我必须在城市名称后面搜索,这就是为什么现在我通过
Hernani 1570、蒙得维的亚
搜索,然后我才能找到匹配项

问题是,如果我搜索
这不是一个真实的地址,蒙得维的亚
我会找到一个匹配的(部分但仍然)城市中心。我不想删除所有的部分匹配,那么,有没有办法确定我得到的匹配是城市名称中的匹配,还是街道地址中的匹配


非常感谢

您能为您正在使用的gem添加一个链接吗?一个小的工作代码示例也很好。当然gem'geocoder'、'~>1.3'、'>=1.3.7'玩gem时,我得到了一个
结果的键。首先。数据['partial_match']
,当存在部分匹配时,它指向一个true值。当您给出完整地址示例时,密钥不存在。如果你只给出“蒙特维迪奥”,它也不会返回部分匹配,因为它正好定位了你想要的。如果您想用partials过滤掉它,我会查看
'types'
键,当给出街道地址时,它指向的数组是
['route']
,反之则是
[“country”,“political”]
[“locality”,“political”]
。希望能有帮助。我会尝试一下,让你知道,但我认为会有帮助。如果是的话,你应该考虑写下答案。