我正在使用地理编码器宝石反转地理编码一个给定物体纬度和经度的位置。这很好用,但是,我想更改结果,以便只显示完整地址的所需部分。
在某些特定情况下,我只想删除输出的最后一位,所以我只是使用类似的东西:
<%= @object.address.to_s.chomp(', USA') %>
对于任何给定的实例。
但是,我想知道是否有更动态的选项只返回邮政编码,只返回国家/地区等。
答案 0 :(得分:1)
您正在使用的@object
可能是Geocoder::Result::Google
的实例。
如果您查看Geocoder::Result::Google
的文档,您会注意到有多种方法可以访问地址的组件,例如邮政编码,国家/地区等。
以下是一些例子
address = @object.address
puts address.postal_code #=> 10010
puts address.city #=> Manhattan
puts address.state_code #=> NY
puts address.country_code #=> USA
如果您要查找的组件在方法中不可用,则可以直接使用address_components_of_type
。
puts @object.address_components_of_type(:street_number) #=> 1600
您可以在此处找到完整的组件列表: https://developers.google.com/maps/documentation/geocoding/intro#Types