Google Map 表示で環境変数の設定が反映されない
Google Map APIで環境変数設定時に起こるエラー
Ruby'2.6.5'
Rails'6.0.0'
うまくいかない動作
Google Mapを表示したいHTML(show.html.erb)にAPI Keyを直接打ち込むと問題なく表示されるが、環境変数にした時にエラーが起こる
問題の箇所コード
<div id='map'>
<script>
let map
function initMap(){
geocoder = new google.maps.Geocoder()
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: <%= @performance.latitude %>, lng: <%= @performance.longitude %>},
zoom: 15,
zoomControl: false,
mapTypeControl: false,
fullscreenControl: false,
});
marker = new google.maps.Marker({
position: {lat: <%= @performance.latitude %>, lng: <%= @performance.longitude %>},
map: map
});
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=<% ENV['GOOGLE_MAP_API'] %>&callback=initMap" async defer>
</script>
</div>
GOOGLE_MAP_API='--------------------------(APIKey)'
Geocoder.configure(
# Geocoding options
timeout: 5, # geocoding service timeout (secs)
lookup: :google, # 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: ENV['GOOGLE_MAP_API'], # 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: [],
units: :km, # :km for kilometers or :mi for miles
# Calculation options
# distances: :linear # :spherical or :linear
)
vim ~/.zshrc
GOOGLE_MAP_API='--------------------------(APIKey)'
試したこと
・% spring stop
・% rails s
・% rails c →ENV['GOOGLE_MAP_API']
→問題なく入力されていることを確認
仮定
API自体は問題なく繋げられているはずなので、環境変数の設定がうまくいっていない。/.envに記述し、vimにも入力→コンソールで出力しても設定できているのでhtml.erbの(Rails6)記述の問題だと思いますが、何が間違っているのかわからない。
※./envには別のAPIKeyも記述してあり、それらは変数入力できている。
参考にした記事
https://developers.google.com/maps/documentation/javascript/error-messages?utm_source=maps_js&utm_medium=degraded&utm_campaign=billing#api-key-and-billing-errors
https://qiita.com/hayatokunn/items/d8a9e9deec33e9022b4f
https://qiita.com/MISIAN-MISIAN/items/01d68907f1620ded17bd
https://teratail.com/questions/203093
https://pikawaka.com/rails/dotenv-rails
どうぞよろしくおねがいします!m(_ _)m