19
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

geocoderが便利過ぎる!

作っているアプリケーションで住所から座標を使う必要があったので、メモ

今まではgoogle APIを使用して、住所から位置座標を特定して値をとっていたが
gem 'geocoder'を導入するとデータベース保存時に自動で入れてくれる。

geocoderの導入

Gemfile
gem 'geocoder'

あとはbundle install

座標データが欲しいmodelへの記述

model.rb
geocoded_by :住所のカラム名
after_validation :geocode, if: :住所のカラム名_changed?

住所のカラム名には自身のモデルの住所が格納されているカラムを入れてください。
保存したいテーブルにはlatitude,longitudeカラムを作成することを忘れずに!!

実際の保存

住所のカラム名に住所を入れて保存を行えば、自動的にlatitude,longitudeカラムに保存される。
スゴイ!!!

おまけ

model.rb
reverse_geocoded_by :latitude, :longitude
after_validation :reverse_geocode

とすると逆に、座標情報保存時に住所を保存してくれる。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
19
Help us understand the problem. What are the problem?