geocoderで取得した現在地を日本語で表示する方法

2

目次

手順 1:Geocoder の設定ファイル生成

terminal
$ bundle exec rails generate geocoder:config

手順 2:設定ファイルに追記

config>initializer>geocoder.rb
Geocoder.configure(
  :language  => :ja, # 追記
  # Geocoding options
  # timeout: 3,                 # geocoding service timeout (secs)
  # lookup: :nominatim,         # name of geocoding service (symbol)
  # ip_lookup: :ipinfo_io,      # name of IP address geocoding service (symbol)
  # language: :en,              # ISO-639 language code
  # use_https: false,           # use HTTPS for lookup requests? (if supported)
  # http_proxy: nil,            # HTTP proxy server (user:pass@host:port)
  # https_proxy: nil,           # HTTPS proxy server (user:pass@host:port)
  # api_key: nil,               # API key for geocoding service
  # cache: nil,                 # cache object (must respond to #[], #[]=, and #del)
  # cache_prefix: 'geocoder:',  # prefix (string) to use for all cache keys

  # Exceptions that should not be rescued by default
  # (if you want to implement custom error handling);
  # supports SocketError and Timeout::Error
  # always_raise: [],

  # Calculation options
  # units: :mi,                 # :km for kilometers or :mi for miles
  # distances: :linear          # :spherical or :linear
)

手順 3:コントローラー側に追記

hoge_controller.rb
def search
  @latitude = params[:latitude]
  @longitude = params[:longitude]
  @results = Geocoder.search([@latitude, @longitude])
end

URL に緯度と経度のパラメータを持たせる処理は Geolocation API で実装しました。

参考:https://qiita.com/Ingward/items/6ad7702dd313484f2b1c

手順 4:ビューで表示

search.html.erb
<h2>現在地: <%= @results.first.address %></h2>
<!-- 上はあくまで一例 -->
<!-- `address`の部分は`city`とか`state`とかに変更もできます -->
<!-- 例)<%= @results.first.city %> -->
<!-- `address`では郵便番号から町名まで表示されます -->

完成

geocoder使用時イメージ

参考

https://github.com/alexreisner/geocoder

  • SNSでシェアしよう
  • Twitterでシェア
  • FaceBookでシェア
  • Lineでシェア
  • 記事タイトルとURLをコピー
トップへ戻るボタン

\ HOME /

トップへ戻る