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

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

$ 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:コントローラー側に追記

def search
  @latitude = params[:latitude]
  @longitude = params[:longitude]
  @results = Geocoder.search([@latitude, @longitude])
end
https://takasaki.work/wp-content/uploads/2019/09/syoboiblog_icon.png
緑ズキン

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

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

手順4:ビューで表示

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

完成

参考

参考https://github.com/alexreisner/geocoder

コメントを残す

メールアドレスが公開されることはありません。