###前提・分からないこと
Google Mapをサイト上(RubyonRails)で表示させたいのですが、下記のような状態で、実際に入れている位置を示してくれません。
###エラーメッセージ
Uncaught ReferenceError: google is not defined at eval (eval at <anonymous> (infobox_packed.js:1), <anonymous>:1:1066) at infobox_packed.js:1 (anonymous) @ VM5245:1 (anonymous) @ infobox_packed.js:1 js?key=AIzaSyBzOpoIJy-9aLUOydR1E_PoMGg7itdjWpU&callback=initMap:98 Uncaught mc Yg @ js?key=AIzaSyBzOpoIJy-9aLUOydR1E_PoMGg7itdjWpU&callback=initMap:98 (anonymous) @ js?key=AIzaSyBzOpoIJy-9aLUOydR1E_PoMGg7itdjWpU&callback=initMap:135 google.maps.Load @ js?key=AIzaSyBzOpoIJy-9aLUOydR1E_PoMGg7itdjWpU&callback=initMap:21 (anonymous) @ js?key=AIzaSyBzOpoIJy-9aLUOydR1E_PoMGg7itdjWpU&callback=initMap:134 (anonymous) @ js?key=AIzaSyBzOpoIJy-9aLUOydR1E_PoMGg7itdjWpU&callback=initMap:135
mc {message: "initMap is not a function", name: "InvalidValueError", stack: "Error↵ at new mc (https://maps.googleapis.com/m…-9aLUOydR1E_PoMGg7itdjWpU&callback=initMap:135:73"} message : "initMap is not a function" name : "InvalidValueError" stack : "Error↵ at new mc (https://maps.googleapis.com/maps/api/js?key=AIzaSyBzOpoIJy-9aLUOydR1E_PoMGg7itdjWpU&callback=initMap:47:499)↵ at Object._.nc (https://maps.googleapis.com/maps/api/js?key=AIzaSyBzOpoIJy-9aLUOydR1E_PoMGg7itdjWpU&callback=initMap:48:96)↵ at Yg (https://maps.googleapis.com/maps/api/js?key=AIzaSyBzOpoIJy-9aLUOydR1E_PoMGg7itdjWpU&callback=initMap:98:420)↵ at https://maps.googleapis.com/maps/api/js?key=AIzaSyBzOpoIJy-9aLUOydR1E_PoMGg7itdjWpU&callback=initMap:135:58↵ at Object.google.maps.Load (https://maps.googleapis.com/maps/api/js?key=AIzaSyBzOpoIJy-9aLUOydR1E_PoMGg7itdjWpU&callback=initMap:21:5)↵ at https://maps.googleapis.com/maps/api/js?key=AIzaSyBzOpoIJy-9aLUOydR1E_PoMGg7itdjWpU&callback=initMap:134:20↵ at https://maps.googleapis.com/maps/api/js?key=AIzaSyBzOpoIJy-9aLUOydR1E_PoMGg7itdjWpU&callback=initMap:135:73" __proto__ : Error Yg @ js?key=AIzaSyBzOpoIJy-9aLUOydR1E_PoMGg7itdjWpU&callback=initMap:98 (anonymous) @ js?key=AIzaSyBzOpoIJy-9aLUOydR1E_PoMGg7itdjWpU&callback=initMap:135 google.maps.Load @ js?key=AIzaSyBzOpoIJy-9aLUOydR1E_PoMGg7itdjWpU&callback=initMap:21 (anonymous) @ js?key=AIzaSyBzOpoIJy-9aLUOydR1E_PoMGg7itdjWpU&callback=initMap:134 (anonymous) @ js?key=AIzaSyBzOpoIJy-9aLUOydR1E_PoMGg7itdjWpU&callback=initMap:135
###該当するソースコード
・application.html.erb
Ruby
1 <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBzOpoIJy-9aLUOydR1E_PoMGg7itdjWpU&callback=initMap"async defer></script> 2 <script src="http://cdn.rawgit.com/mahnunchik/markerclustererplus/master/dist/markerclusterer.min.js"></script> 3 <script src="http://cdn.rawgit.com/printercu/google-maps-utility-library-v3-read-only/master/infobox/src/infobox_packed.js" type="text/javascript"></script> 4 <script src="https://code.jquery.com/jquery-1.8.3.min.js"></script>
・ビュー
Ruby
1 <div> 2 <div id="map" style='width: 100%; height: 450px;'></div> 3 </div> 4 5 <script type="text/javascript"> 6 handler = Gmaps.build('Google'); 7 handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){ 8 markers = handler.addMarkers(<%=raw @hash.to_json %>); 9 handler.bounds.extendWith(markers); 10 handler.fitMapToBounds(); 11 }); 12 </script>
・コントローラー
Ruby
1 def map 2 @hash = Gmaps4rails.build_markers(@places) do |place, marker| 3 marker.lat place.latitude 4 marker.lng place.longitude 5 marker.infowindow place.mapdescription 6 marker.json({title: place.title}) 7 end 8 end
回答1件