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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Ruby on Rails

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

JavaScript

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

Q&A

0回答

609閲覧

Rails6 JavaScript が表示されない

EleAco

総合スコア15

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Ruby on Rails

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

JavaScript

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

0グッド

0クリップ

投稿2020/11/16 03:56

編集2020/11/16 04:38

Rails6にて開発中です

##本題

住所を投稿するページにてGoogleのmapの表示を erbファイルにscriptで記述しおりました
new.html.erb

ruby

1 <script> 2 /* 3 mapを関数の外で定義(codeAddressでも使うため) 4 geocoderを用意 5 */ 6 7 let map 8 let geocoder 9 10 function initMap(){ 11 // geocoderを初期化 12 geocoder = new google.maps.Geocoder() 13 14 map = new google.maps.Map(document.getElementById('map'), { 15 center: {lat: 35.710063, lng: 139.810700}, 16 zoom: 8 17 }); 18 } 19 20 function codeAddress(){ 21 // 入力を取得 22 let inputAddress = document.getElementById('address').value; 23 24 // geocodingしたあとmapを移動 25 geocoder.geocode( { 'address': inputAddress}, function(results, status) { 26 if (status == 'OK') { 27 // map.setCenterで地図が移動 28 map.setCenter(results[0].geometry.location); 29 30 // google.maps.MarkerGoogleMap上の指定位置にマーカが立つ 31 var marker = new google.maps.Marker({ 32 map: map, 33 position: results[0].geometry.location 34 }); 35 } else { 36 alert('Geocode was not successful for the following reason: ' + status); 37 } 38 }); 39 } 40 </script>

この記述をJavaScriptファイルに分けようと考えました(可読性のため)

new.html.erbに記述してあった

<script>から</script>までを消し

ruby

1<%= javascript_pack_tag 'photo/map' %>

これを記述

そしてJavaScriptファイルに

<script>から</script>以外を記述

javascript > packs > photo > map.js

JavaScript

1 2/* 3mapを関数の外で定義(codeAddressでも使うため) 4geocoderを用意 5*/ 6 7let map 8let geocoder 9 10function initMap(){ 11 // geocoderを初期化 12 geocoder = new google.maps.Geocoder() 13 14 map = new google.maps.Map(document.getElementById('map'), { 15 center: {lat: 35.710063, lng: 139.810700}, 16 zoom: 8 17 }); 18} 19 20function codeAddress(){ 21 // 入力を取得 22 let inputAddress = document.getElementById('address').value; 23 24 // geocodingしたあとmapを移動 25 geocoder.geocode( { 'address': inputAddress}, function(results, status) { 26 if (status == 'OK') { 27// map.setCenterで地図が移動 28 map.setCenter(results[0].geometry.location); 29 30// google.maps.MarkerでGoogleMap上の指定位置にマーカが立つ 31 var marker = new google.maps.Marker({ 32 map: map, 33 position: results[0].geometry.location 34 }); 35 } else { 36 alert('Geocode was not successful for the following reason: ' + status); 37 } 38 }); 39}

読み込むように
javascript > packs > applocation.js

applicationjs

1require("./photo/map")

を記述しました
しかし、地図が表示されないため
違う記述があるのか…
皆様のお力を貸しください
他のJavaScriptは動いているのでerbに<script>で記述したものをjavascriptに移動させて、表示させる記述が違うのかな…と感じていますが
わからずです…

##追加
検証ツールでconsoleを見たら
イメージ説明

このようになっておりました
initMapがないと言われているので調査中です

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

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

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

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

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

papinianus

2020/11/20 15:34

Google Apps Script はどう関係しますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問