質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Haml

Haml(HTML abstraction markup language)は、HTML/XHTMLを効率的に記述するためのマークアップ言語および記法です。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

Q&A

解決済

1回答

1372閲覧

本番環境でGoogleMapが表示されない

tomoZQ

総合スコア14

Haml

Haml(HTML abstraction markup language)は、HTML/XHTMLを効率的に記述するためのマークアップ言語および記法です。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

0グッド

0クリップ

投稿2020/09/30 04:08

編集2020/09/30 04:16

前提・実現したいこと

本番環境でGoogleMapを表示したい。

発生している問題・エラーメッセージ

開発環境ではGoogleMapが表示され、経路の検索もできる。
本番環境ではfor deveropment purpose onlyが表示されてしまう。
Google platformのアカウントに支払い先の登録は済んでいます。
請求先アカウントのステータスも有効になっています。
このプロジェクトにリンクされている請求先アカウントで「請求先アカウント」は表示されています。
イメージ説明

Console

1You are using this API without a key. See https://developers.google.com/maps/documentation/javascript/error-messages?utm_source=maps_js&utm_medium=degraded&utm_campaign=billing#api-key-and-billing-errors

該当のソースコード

haml

1%script{src: "https://maps.google.com/maps/api/js?key=#{ENV['GOOGLE_MAP_API_KEY']}", charset: 'utf-8'} 2= javascript_include_tag 'search' 3.search 4 .search__wrapper 5 .search__wrapper__title 6 %h1 7 経路検索 8 .search__wrapper__title__return 9 =link_to root_path do 10 Home 11 .search__wrapper__contents 12 .search__wrapper__contents__origin 13 %p 14 出発地 15 %input#origin{type: 'textbox', value: '甲府駅(山梨)'} 16 .search__wrapper__contents__destination 17 %p 18 目的地 19 %input#destination{type: 'textbox', value: '山梨市駅(山梨)'} 20 .search__wrapper__contents__btn 21 %input#searchBtn{type: 'button', value: '検索'} 22 .map#map{style: "width: 100%; height: 600px;"} 23

javascript

1$(function(){ 2 var directions; //ルートのインスタンス 3 var map; //マップのインスタンス 4 var ds = google.maps.DirectionsStatus;//ルート結果のステータス 5 var directionsErr = new Array(); //ルート結果のエラーメッセージ 6 directionsErr[ds.INVALID_REQUEST] = "指定された DirectionsRequest が無効です。"; 7 directionsErr[ds.MAX_WAYPOINTS_EXCEEDED] = "DirectionsRequest に指定された DirectionsWaypoint が多すぎます。ウェイポイントの最大許容数は 8 に出発地点と到着地点を加えた数です。"; 8 directionsErr[ds.NOT_FOUND] = "出発地点、到着地点、ウェイポイントのうち、少なくとも 1 つがジオコード化できませんでした。"; 9 directionsErr[ds.OVER_QUERY_LIMIT] = "ウェブページは、短期間にリクエストの制限回数を超えました。"; 10 directionsErr[ds.REQUEST_DENIED] = "ウェブページではルート サービスを使用できません。"; 11 directionsErr[ds.UNKNOWN_ERROR] = "サーバー エラーのため、ルート リクエストを処理できませんでした。もう一度試すと正常に処理される可能性があります。"; 12 directionsErr[ds.ZERO_RESULTS] = "出発地点と到着地点間でルートを見つけられませんでした。"; 13 14 // Onload時処理 15 // ルートの生成 16 directions = new google.maps.DirectionsService(); 17 // Google Mapで利用する初期設定用の変数 18 var mapOptions = { 19 zoom: 14, 20 mapTypeId: google.maps.MapTypeId.ROADMAP, 21 center: new google.maps.LatLng(35.666674, 138.568785) 22 }; 23 // GoogleMapの生成 24 map = new google.maps.Map(document.getElementById("map"), mapOptions); 25 26 // [検索]ボタン処理 27 $('#searchBtn').click(function(searchRoute){ 28 // テキストボックスから検索の出発・到着を取得 29 var origin = document.getElementById("origin").value; 30 var destination = document.getElementById("destination").value; 31 // ルート検索を依頼する 32 directions.route( 33 { // ルート リクエスト 34 'origin' : origin, //出発地点 35 'destination': destination,//到着地点 36 'travelMode' : google.maps.DirectionsTravelMode.DRIVING //ルートタイプ:車 37 }, 38 function(results, status) { // ルート結果callback関数 39 if (status == ds.OK) { // 結果がOK ?? 40 // ポリライン(折れ線)を生成し、マップに表示 41 var poly = new google.maps.Polyline({ 42 map: map, //マップ 43 path: results.routes[0].overview_path,//ポリラインの座標の列 44 strokeWeight: 5, //ストローク幅(ピクセル単位) 45 strokeColor: "#0000EE",//16進数形式のストロークの色 46 strokeOpacity: 0.5 //ストロークの不透明度(0.0~1.0) 47 }); 48 // 検索結果の中心設定 49 map.setCenter(results.routes[0].bounds.getCenter()); 50 } else { 51 // 結果がOKではない場合 52 alert("ルート検索が失敗しました。理由: " + directionsErr[status]); 53 } 54 }); 55 }) 56});

試したこと

・請求先アカウントの確認
・アプリケーションの制限を「なし」に変更
→変化なし

補足情報(FW/ツールのバージョンなど)

Rails 6.0.3.2
Herokuへデプロイ
ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Y.H.

2020/09/30 04:13

consoleに表示されている指示に従いURLを参照し 「トラブルシューティング」に記載されていることは全て実施済みと云うことで良いですか?
tomoZQ

2020/09/30 04:15

はい。全て実施済みです。
guest

回答1

0

自己解決

Herokuの環境設定
ターミナルで

heroku config:set GOOGLE_MAP_API_KEY="[自分のAPI_KEY]"

とすることで解消しました。

投稿2020/09/30 04:18

tomoZQ

総合スコア14

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問