#実装した機能
gem geocoder
を使って入力した住所から緯度、経度を取得。
Google API Keyを取得してアプリ上に地図表示。
#発生した問題
開発環境では問題なく動作していたがデプロイ後に本番環境で
動作チェックすると入力した住所に対して地図が表示されず何も返してくれなかった。
#推測してみた
コンソールをチェックするとNo Apikeys
、Invalidkey
と出ていたので、APIキーが原因であると推測。
APIの知識が不足していたので開発環境で書いているコードの問題かGoogle APIの設定の方に問題があるのか?
と考えて深掘りしていくが解決出来そうな記事は見当たらず。
ちなみにAPIキーはgem "dotenv-rails"
を使い、.env
の中の環境変数に入れて.gitignore
の中に隠してました。
Chromeの拡張機能であるGoogle Maps Platform API Checkerを入れてみると、
エラーの文字と、APIキーを入れたコードの一文が表示されているのを確認できたがAPIキー自体が見当たらない。
つまり環境変数が呼び出されていないということ。
#問題解決
ここでむやみやたらとググりまくると沼にハマる姿が目に浮かんだので(笑)
いったん落ち着いて考えてみることにしました。
・・・もしかしてherokuにデプロイしてるのが原因かな??
ということでググってみるとこれがビンゴ!
herokuでは.gitignoreに入っているファイルはデプロイされないらしく
heroku config:set
で環境変数をセットする必要があるとのことでした。
こちらの記事を参考にさせていただきherokuに環境変数をセット。
無事解決できました!!!