Ruby 我怎么知道地理编码器的结果是否只是城市名称的匹配?
我正在使用Geocoder gem和Google查找。我很难过滤匹配项 我的代码是:Ruby 我怎么知道地理编码器的结果是否只是城市名称的匹配?,ruby,google-geocoder,Ruby,Google Geocoder,我正在使用Geocoder gem和Google查找。我很难过滤匹配项 我的代码是: geocoded_by :complete_address, params: { region: 'UY', components: { country: 'UY' } } 我只想要某个国家(乌拉圭)的结果。如果我像那样查找地址,它不会找到结果。(例如Hernani 1570)。
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”]
。希望能有帮助。我会尝试一下,让你知道,但我认为会有帮助。如果是的话,你应该考虑写下答案。