Rails geocoder gem反向地理编码地址格式定制

时间:2015-09-15 01:46:50

标签: ruby-on-rails geocoding rails-geocoder

我正在使用地理编码器宝石反转地理编码一个给定物体纬度和经度的位置。这很好用,但是,我想更改结果,以便只显示完整地址的所需部分。

在某些特定情况下,我只想删除输出的最后一位,所以我只是使用类似的东西:

<%= @object.address.to_s.chomp(', USA') %>

对于任何给定的实例。

但是,我想知道是否有更动态的选项只返回邮政编码,只返回国家/地区等。

1 个答案:

答案 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