前提・実現したいこと
RailsでGoogle Maps APIを利用して、データベースに登録済みユーザーの住所にマーカーを立てたい。ユーザーの住所から緯度・経度は取得済み。
ログイン済みの本人のみのマーカーを立てる事には成功したが、繰り返し処理にて全てのユーザー(3人)のマーカー立てができずに、ただマップが表示されているのみになる。
発生している問題・エラーメッセージ
マーカーが立たない。エラーメッセージは出ていない。
該当のソースコード
html
1<h2>map</h2> 2<div id='map'></div> 3 4<style> 5#map{ 6 height: 500px; 7} 8</style> 9 10<script> 11// ログインユーザー本人の位置を定義 12let your = { lat: <%=current_user.latitude %>, lng: <%=current_user.longitude %> }; 13 14// マップを生成 15function initMap(){ 16 let map = new google.maps.Map(document.getElementById('map'), { 17 center: your, //マップの中心 18 zoom: 10, //マップの解析度 19 mapTypeControl: false, //オプション 20 streetViewControl: false //オプション 21 }); 22 23 // 複数マーカーの作成 24 <% @users.each do |user| %> 25 (function() { 26 let marker = new google.maps.Marker({ 27 position: {lat: <%= user.latitude %>, lng: <%= user.longitude %>}, 28 map: map, 29 }); 30 }); 31 <% end %> 32} 33</script> 34 35<script async defer 36src="https://maps.googleapis.com/maps/api/js?key= <%= ENV['GOOGLE_MAP_API_KEY'] %> &callback=initMap"> 37</script>
試したこと
コードに直接、緯度・経度を入力する事により複数のマーカーが立つ事は確認済み。
補足情報(FW/ツールのバージョンなど)
Ruby(2.5.1)
Rails(5.2)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/30 07:34